あなたの質問を正しく理解できれば、コントロールを追加してコントロール プロパティを変更するコードはすべて自動生成され、例として Form1.Designer.cs に存在します。このファイルは、通常、Visual Studio を除いて決して触れてはなりません。
InitializeComponent()
コントロールを手動で追加する場合は、呼び出しの後、またはイベントのようなイベントでForm1.cs で行う必要がありますForm_Load
。フォーム ロード イベントにボタンを追加する例を次に示します。
private void Form_Load(object sender, EventArgs e)
{
Button b = new Button();
b.Left = 10;
b.Top = 10;
b.Text = "Button!";
this.Controls.Add(b); //'this' would be the form self-pointer
}
イベントは異なります。これらは Form1.cs で変更されるものですが、デザイナーに加えられた変更は、イベントのコード ビハインド ファイルに常に反映されるとは限りません。これがVSの性質です。ボタンを削除しても、コードからイベントが削除されない場合や、その逆の場合があります。
コード ファイルでコントロールから手動でイベントを削除する必要がある場合があります。
追加されたコントロールのコードは、通常、デザイナーでコントロールを変更することによって強制できますが、コントロール名が変更されたときに変更されないものの少なくとも 1 つはイベント名です。たとえば、ボタンが呼び出さbutton1
れてクリック イベントにリンクしている場合button1_click(object sender, EventAgrs e)
、ボタン名をbutton12345
に変更しても、イベント名は変更されません。
コントロール プロパティを開いて稲妻をクリックすると、デザイナーでリンクされたイベントを変更できます。これにより、コントロールのすべてのイベントが表示されます。イベント フィールドをダブルクリックすると、リンクされたイベントに移動するか、フィールドが空白の場合はイベントが生成されます。このダイアログでは、複数のコントロールを 1 つのイベントにリンクすることもできます。
イベント プロパティ ダイアログの例を次に示します。
コントロールの追加、イベントのリンク、コントロールの削除などをいじるだけで、デザイナーとコード ビハインドの両方でいつ変更が更新され、いつ変更が更新されないかを把握できます。