タグ付けされた質問 「winforms」

WinFormsは、Microsoft .NET FrameworkおよびMonoのGUIクラスライブラリであるWindows Formsに付けられた非公式の名前です。このタグ内の質問は、ターゲットフレームワーク([.net]または[mono])でもタグ付けする必要があり、通常はプログラミング言語タグでタグ付けする必要があります。

30
別のスレッドからGUIを更新するにはどうすればよいですか?
をLabel別のものから更新する最も簡単な方法はどれThreadですか? 私はでForm実行してthread1おり、そこから別のスレッド(thread2)を開始しています。 thread2がいくつかのファイルを処理している間Labelに、の作業のForm現在のステータスでを更新したいと思いますthread2。 どうすればできますか?

30
INotifyPropertyChangedの実装-より良い方法はありますか?
MicrosoftはINotifyPropertyChanged、自動プロパティのように、何かにきびきびとしたものを実装する必要がありました。指定するだけで、{get; set; notify;} それを実行するのは理にかなっていると思います。それとも、それを行うには複雑さがありますか? 私たちは自分のプロパティに「通知」のようなものを実装できますか?INotifyPropertyChangedクラスに実装するための優雅な解決策はありますか、それを行う唯一の方法はPropertyChanged、各プロパティでイベントを発生させることです。 できなければ、PropertyChanged イベントを発生させるコードを自動生成する何かを書くことができますか?

22
クロススレッド操作が無効です:作成されたスレッド以外のスレッドからアクセスされたコントロール
シナリオがあります。(Windowsフォーム、C#、. NET) いくつかのユーザーコントロールをホストするメインフォームがあります。 ユーザーコントロールが重いデータ操作を行うため、UserControl_Loadメソッドを直接呼び出すと、ロードメソッドの実行中にUIが応答しなくなります。 これを克服するために、別のスレッドでデータをロードします(できる限り既存のコードを変更しないようにします)。 私は、データをロードするバックグラウンドワーカースレッドを使用しました。完了すると、アプリケーションに作業が完了したことを通知します。 今、本当の問題が起こりました。すべてのUI(メインフォームとその子ユーザーコントロール)は、プライマリメインスレッドで作成されました。usercontrolのLOADメソッドでは、userControlのコントロール(テキストボックスなど)の値に基づいてデータをフェッチしています。 擬似コードは次のようになります。 コード1 UserContrl1_LoadDataMethod() { if (textbox1.text == "MyName") // This gives exception { //Load data corresponding to "MyName". //Populate a globale variable List<string> which will be binded to grid at some later stage. } } それが与えた例外は クロススレッド操作が無効です:作成されたスレッド以外のスレッドからアクセスされたコントロール。 これについてもっと知るために私はいくつかグーグルを行い、次のコードを使用するような提案が出ました コード2 UserContrl1_LoadDataMethod() { if (InvokeRequired) …

30
数値のみを受け入れるテキストボックスを作成するにはどうすればよいですか?
整数値のみを受け入れたいテキストボックスコントロールを備えたWindowsフォームアプリがあります。以前は、KeyPressイベントをオーバーロードして、仕様に適合しない文字を削除することで、この種の検証を行っていました。私はMaskedTextBoxコントロールを見てきましたが、おそらく正規表現で動作する、または他のコントロールの値に依存する、より一般的な解決策が欲しいです。 理想的には、これは数字以外の文字を押しても結果が生成されないか、無効な文字に関するフィードバックがすぐにユーザーに提供されるように動作します。
583 c#  .net  winforms  textbox 

14
Windowsフォームアプリケーションにアプリケーション設定を保存するにはどうすればよいですか?
私が達成したいことは非常に簡単です。情報を読み取るためのパスを使用するWindowsフォーム(.NET 3.5)アプリケーションがあります。このパスは、ユーザーが提供するオプションフォームを使用して変更できます。 次に、パスの値を後で使用できるようにファイルに保存します。これは、このファイルに保存されている多くの設定の1つです。このファイルは、アプリケーションフォルダーに直接配置されます。 3つのオプションが利用できることを理解しています。 ConfigurationSettingsファイル(appname.exe.config) レジストリ カスタムXMLファイル .NET構成ファイルは、値を保存して戻すことは想定されていません。レジストリに関しては、なるべく遠ざけたいと思います。 これは、構成設定を保存するためにカスタムXMLファイルを使用する必要があることを意味しますか? もしそうなら、私はそのコード例を見たいと思います(C#)。 私はこの問題について他の議論を見てきましたが、それでも私にはわかりません。

22
.NET WebBrowserコントロールを、Chromeなどのより優れたブラウザーに置き換えますか?
最新のブラウザーを.NETアプリケーションに挿入する比較的簡単な方法はありますか? 私が理解している限り、このWebBrowserコントロールはIEのラッパーです。これは、CSSのねじ込み、潜在的なセキュリティリスクを伴う非常に古いバージョンのIEのように見えることを除いて、問題にはなりません。(レンダリングエンジンにパッチが適用されていなかった場合、ジリオンのバッファオーバーフローの問題が修正されることを本当に期待できますか?)、およびその他の問題。 Visual Studio C#を使用しています(Express Edition-ここで何か違いはありますか?) アプリケーションに優れたWebブラウザーを統合したいと考えています。一部では、ユーザー登録プロセスの処理、自分のWebサイトの機能の一部とのその順序の他の操作とのやり取りに使用していますが、別のアプリケーションを考えており、より多くのerr ...コントロールが必要になります。 私は欲しい: アプリケーションのウィンドウ内に統合できるブラウザー(別個のウィンドウではない) CSS、js、その他のWebテクノロジーの優れたサポートで、最新のブラウザーと同等 「ナビゲート」、「戻る」、「リロード」などの基本的なブラウザ機能... ページコードと出力への自由なアクセス。 BSDライセンスの下にあるChromeについて考えていましたが、最新バージョンのIEでも同じように満足しています。 出来るだけシンプルにしたいと思います。WebBrowser必要なものの約70%を既に実行している既存のコントロールにパッチを適用できるのが最善ですが、それは可能ではないと思います。 Mozilla(http://www.iol.ie/~locka/mozilla/control.htm)のactiveXコントロールを見つけましたが、古いバージョンのように見えるため、必ずしも改善されているわけではありません。 提案を受け入れる

18
イベントからすべてのイベントハンドラーを削除する方法
コントロールに新しいイベントハンドラーを作成するには、次のようにします。 c.Click += new EventHandler(mainFormButton_Click); またはこれ c.Click += mainFormButton_Click; イベントハンドラを削除するには、これを行うことができます c.Click -= mainFormButton_Click; しかし、イベントからすべてのイベントハンドラーをどのように削除しますか?
367 c#  .net  winforms  events 

11
「はい」、「いいえ」の選択肢とDialogResultを含むメッセージボックスを作成するにはどうすればよいですか?
単純な「はい/いいえ」を選択したメッセージボックスを作成したいのですが、そのためのフォームを設計するのはナンセンスだと思います。これを実現するために、メッセージボックスを使用したり、ボタンを追加したりできると思いました。シンプルですが、DialogResultが返されないので、結果を取得するにはどうすればよいですか?


11
複数行のテキストボックスの下部まで自動的にスクロールするにはどうすればよいですか?
.Multilineプロパティをtrueに設定したテキストボックスがあります。定期的に、新しい行のテキストを追加しています。新しい行が追加されるたびに、テキストボックスを一番下のエントリ(最新のエントリ)まで自動的にスクロールしたいと思います。どうすればこれを達成できますか?
295 c#  winforms  textbox  scroll 

8
Windowsフォームアプリケーションにキーボードショートカットを実装する最良の方法は?
C#でWindowsフォームアプリケーションに一般的なWindowsキーボードショートカット(Ctrl+ F、Ctrl+などN)を実装する最良の方法を探しています。 アプリケーションには、多くの子フォーム(一度に1つ)をホストするメインフォームがあります。ユーザーがCtrl+ Fを押すと、カスタム検索フォームが表示されます。検索フォームは、アプリケーションで現在開いている子フォームに依存します。 ChildForm_KeyDownイベントで次のようなものを使用することを考えていました: if (e.KeyCode == Keys.F && Control.ModifierKeys == Keys.Control) // Show search form しかし、これは機能しません。キーを押してもイベントは発生しません。解決策は何ですか?

10
Application.DoEvents()の使用
Application.DoEvents()C#で使用できますか? この関数は、VB6が行うのとほとんど同じ方法で、GUIがアプリの残りの部分に追いつくことを可能にする方法DoEventsですか?
272 c#  winforms  doevents 

10
カーソルを待機カーソルに変えるにはどうすればよいですか?
ユーザーがログインできるC#アプリケーションがあります。ハッシュアルゴリズムは高価であるため、実行には少し時間がかかります。プログラムが何かをしていることをユーザーに知らせるために、ユーザーに待機/ビジーカーソル(通常は砂時計)を表示するにはどうすればよいですか。 プロジェクトはC#です。
263 c#  .net  winforms  cursor 


11
フィルターをOpenFileDialogに設定して、一般的な画像形式を許可しますか?
私はこのコードを持っていますが、どのようにすればすべての一般的な画像フォーマットを受け入れることができますか?PNG、JPEG、JPG、GIF? ここに私がこれまで持っているものがあります: public void EncryptFile() { OpenFileDialog dialog = new OpenFileDialog(); dialog.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"; dialog.InitialDirectory = @"C:\"; dialog.Title = "Please select an image file to encrypt."; if (dialog.ShowDialog() == DialogResult.OK) { //Encrypt the selected file. I'll do this later. :) } } フィルターが.txtファイルに設定されていることに注意してください。私は可能性が PNGに変更するが、他のタイプの何?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.