佐々木屋

技術的なことから趣味まで色々書きます

1.C#、VB.NET-4.フォームアプリケーション

非同期処理でフォームOpen/Closeを制御する

非同期処理中はスレッドセーフでなければアクセス出来ないことは以前説明しました。 sasaki816.hatenablog.com 今回は同じような内容ですが、非同期でフォームを開いたり閉じたりする処理を考えます。例えば、ボタンクリックを非同期処理で行い、その別スレ…

複数のコントロールに同じイベントを割り当てる

フォームアプリケーションで、複数のコントロールに一つの同じイベントを割り当てる方法です。共通処理イベントを作成します。第一引数を「sender(object型)」、第二引数を「e(EventArgs型)」とします。例えばボタンクリックの共通処理イベントを作成し…

フォームイベントの発生順序

フォームイベントの発生順番をまとめました。実務レベルで必要な部分は青字になりますので、そこだけ理解しておけば問題ありません。 起動時のイベント発生順番 順番 イベント 内容 1 Control.HandleCreated コントロールに対してハンドルが作成されると発生…

フォームの表示切替(補足)

前回メインフォームの表示切替の話をしましたが、少し説明というかイメージが足りませんでしたので補足します。 sasaki816.hatenablog.com ここで説明されたメインフォームの入替で、ApplicationContextクラスのMainFormプロパティに設定したフォームがアプ…

フォームの表示切替

フォームの表示方法でShowDialog(Show)メソッドによって実現していますが、Form1を閉じてForm2を開くような画面変遷を兼ねている場合、呼び出し元であるForm1を閉じずにHideメソッドで隠しておく必要があります。 Form2 f = new Form2(); f.Show(); this.H…

フォームの表示方法

フォーム表示方法は2種類あり、モーダル(他フォームが操作不能)かモードレス(他フォームも操作可能)での表示となります。 2つの違いを簡単に言えば、インスタンスの破棄の必要有無と、その後の処理がどうなるのかということです。 モーダル(他フォー…

メッセージループ(Application.RunとForm.ShowDialog)

通常、エントリポイントで起動フォームを指定する場合、Application.Runメソッドを使用します。 Application.Runに指定されたフォームは表示されると、マウスやキーボードの操作を受け付けるために待機状態となります。そして操作が実行されると、その操作内…

エントリポイント

Windowsフォームアプリケーションを作成する場合、まずエントリポイントを作成します。 エントリポイントはアプリケーションが開始されたときに一番最初に実行されるコードで、フォームを開く前段階の前準備を行うことができる場所です。C#の方は以下のエン…