windowsformsアプリで他のフォームにあるコントロールにアクセルするサンプルコード
以下は、Windows Forms アプリケーションで他のフォームにあるコントロールにアクセスするためのサンプルコードです。
まず、2つのフォームを作成し、双方に Button コントロールを配置します。(サンプルでは、form1にbutton1をform2にbutton2を配置)
// Form1.cs
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2();
form2.Show();
}
}
// Form2.cs
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void button2_Click(object sender, EventArgs e)
{
MessageBox.Show("Hello from Form2!");
}
}
次に、Form1 から Form2 の Button コントロールにアクセスするための方法を示します。
// Form1.cs
private void button1_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2();
form2.Show();
// Form2 の Button コントロールを取得する
Button form2Button = form2.Controls["button2"] as Button;
// Form2 の Button コントロールを使用する
form2Button.PerformClick();
}
このコードでは、Form2 の Button コントロールを取得して、その PerformClick() メソッドを呼び出しています。これにより、Form2 の Button コントロールをクリックするのと同じ効果が得られます。
ディスカッション
コメント一覧
まだ、コメントがありません