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

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

11
BackgroundWorkerとバックグラウンドスレッド
Windowsフォームアプリで使用するバックグラウンドスレッドの実装の選択について、文体上の質問があります。現在、私はBackgroundWorker無限(while(true))ループを持つフォームを持っています。このループではWaitHandle.WaitAny、関心のあることが発生するまでスレッドをスヌーズし続けるために使用します。待機しているイベントハンドルの1つは「StopThread」イベントです。これにより、ループを抜けることができます。このイベントは、オーバーライドされたときに通知されForm.Dispose()ます。 BackgroundWorkerファイルをダウンロードしたり、一連のアイテムを処理したりするなど、UIと結び付けたくなくて限りのない操作を意図した場所で読んだことがあります。この場合、「終了」は不明であり、ウィンドウが閉じている場合のみです。したがってBackgroundWorker、この目的ではなくバックグラウンドスレッドを使用する方が適切でしょうか?

10
WindowsフォームのUIデザインパターン(MVVM for WPFなど)
MVVMはWPFに完全に適しているため、WPFで最もよく使用されます。しかし、Windowsフォームはどうですか?このようなWindowsフォームにも、確立されて一般的に使用されているアプローチ/デザインパターンはありますか?Windowsフォームで明示的にうまく機能するものですか?これをよく説明する本や記事はありますか?多分MVPまたはMVCベース?





6
ツールヒントをコントロールに追加するにはどうすればよいですか?
ToolTipマウスをその上に置いたときに表示するコントロールがいくつかあります。これどうやってするの?これをコード内だけでなくデザイナでも適切に実行する方法を知りたい(ToolTipツールボックスにコンポーネントがありますが、わかりません)。 これが重複していても驚くことはありませんが、より高度な特定のシナリオに関する質問しか見つけることができません。基本を知りたいのですが。
154 c#  winforms  tooltip 

30
WinForms TextBoxをブラウザのアドレスバーのように動作させる
C#WinFormsテキストボックスがフォーカスを受け取ったときに、ブラウザーのアドレスバーのように動作させたい。 意味を確認するには、Webブラウザーのアドレスバーをクリックしてください。次の動作がわかります。 テキストボックスが以前にフォーカスされていなかった場合、テキストボックスをクリックすると、すべてのテキストが選択されます。 マウスを下に移動してテキストボックスにドラッグすると、マウスで強調表示したテキストのみが選択されます。 テキストボックスがすでにフォーカスされている場合、クリックしてもすべてのテキストが選択されるわけではありません。 プログラムで、またはキーボードのタブでテキストボックスにフォーカスすると、すべてのテキストが選択されます。 これをWinFormsで正確に実行したいと考えています。 最速の銃警報:回答する前に以下をお読みください!みんなありがとう。:-) .Enterまたは.GotFocusイベント中に.SelectAll()を呼び出しても機能しません。ユーザーがテキストボックスをクリックすると、クリックした場所にキャレットが配置され、すべてのテキストの選択が解除されるためです。 .Clickイベント中に.SelectAll()を呼び出しても機能しません。これは、ユーザーがマウスでテキストを選択できないためです。.SelectAll()呼び出しは、ユーザーのテキスト選択を上書きし続けます。 focus / enterイベントのenterでBeginInvoke((Action)textbox.SelectAll)を呼び出すと、上記のルール#2に違反するため機能しません。フォーカスに対するユーザーの選択をオーバーライドし続けます。

7
閉じる(x)ボタンのみを非表示にする方法は?
モーダルダイアログがあり、閉じる(X)ボタンを非表示にする必要がありますがControlBox = false、最小化ボタンと最大化ボタンを保持する必要があるため、を使用できません 。 [閉じる]ボタンだけを非表示にする必要がありますが、それを行う方法はありますか? どうもありがとう! 更新:私はそれを無効にする許可を持っていました、それはより簡単です:)ありがとうございます!
151 c#  winforms 


7
DateTimePicker:日付と時刻の両方を選択します
DateTimePicker(Winforms)を使用して(ドロップダウンで)日付と時刻の両方を選択することは可能ですか?選択した値のカスタム表示をどのように変更しますか?また、ユーザーが日付/時刻を手動で入力できるようにすることは可能ですか?
143 c#  .net  winforms 

7
システムフォントとdpi設定に自動スケーリングするWinFormsコードを記述する方法
イントロ:「WinFormsはDPI /フォント設定に適切に自動スケーリングされないため、WPFに切り替えます」というコメントがたくさんあります。ただし、これは.NET 1.1に基づいていると思います。実際には、.NET 2.0で自動スケーリングを実装するのにかなり優れていたようです。少なくともこれまでの調査とテストに基づいています。ただし、ご存知の方がいらっしゃれば、ぜひご連絡ください。(WPFに切り替えるべきだと言って迷惑を掛けないでください...これは現時点ではオプションではありません。) 質問: WinFormsの何が適切に自動スケーリングされないので、避ける必要がありますか? WinFormsコードを適切に自動スケーリングするように記述する場合、プログラマーはどの設計ガイドラインに従う必要がありますか? これまでに確認した設計ガイドライン: 以下のコミュニティwikiの回答を参照してください。 それらのいずれかが正しくないか、不十分ですか?他に採用すべきガイドラインはありますか?回避する必要がある他のパターンはありますか?これに関する他のガイダンスは非常にありがたいです。
143 c#  .net  winforms  fonts  dpi 

7
Windowsフォーム(c#)でアニメーションGIFを表示する方法
かなり長いプロセスの実行中に進行状況メッセージを表示するフォームがあります。これはWebサービスの呼び出しなので、進行状況バーに完全なパーセンテージを意味のある形で実際に表示することはできません。(プログレスバーのマーキープロパティは特に好きではありません) アニメーションGIFを表示して、プロセスにアクティビティの感触を与えたいと思います(たとえば、Windowsコピープロセスのように、あるコンピューターから別のコンピューターにファイルが飛んでいる)。 これどうやってやるの?

7
xからyへの共変配列の変換によりランタイム例外が発生する可能性があります
私が持っているprivate readonlyのリストLinkLabel(複数可IList<LinkLabel>)。後でLinkLabelこのリストにsを追加し、これらのラベルをFlowLayoutPanel次のように追加します。 foreach(var s in strings) { _list.Add(new LinkLabel{Text=s}); } flPanel.Controls.AddRange(_list.ToArray()); Resharperが私に警告を表示しますCo-variant array conversion from LinkLabel[] to Control[] can cause run-time exception on write operation。 私が理解するのを助けてください: これはどういう意味ですか? これはユーザーコントロールであり、ラベルを設定するために複数のオブジェクトからアクセスされないため、コードをそのままにしても影響はありません。

17
フォーカスを盗まずにフォームを表示しますか?
フォームを使用して通知を表示しています(画面の右下に表示されます)が、このフォームを表示すると、メインフォームからフォーカスが奪われます。フォーカスを盗まずにこの「通知」フォームを表示する方法はありますか?
140 c#  .net  winforms 

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