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 コントロールをクリックするのと同じ効果が得られます。
訪問数 53 回, 今日の訪問数 1回






ディスカッション
コメント一覧
まだ、コメントがありません