ホームページ > バックエンド開発 > C++ > C# で別のフォームからフォーム コントロールに効率的にアクセスするにはどうすればよいですか?

C# で別のフォームからフォーム コントロールに効率的にアクセスするにはどうすればよいですか?

Susan Sarandon
リリース: 2025-01-07 13:36:43
オリジナル
916 人が閲覧しました

How Can I Efficiently Access Form Controls from Another Form in C#?

別のフォームからフォーム コントロールにアクセスする

複数のフォームがあり、別のフォームに属するコントロールにアクセスする必要があるシナリオでは、効率的な方法が重要です。 1 つのアプローチには、あるフォームでセッター プロパティを作成し、それをもう一方のフォームから参照することが含まれます。ただし、この通信をさらに強化することは可能です。

シングルトン フォームの概念を導入することが、1 つの潜在的な解決策です。ただし、すべての状況において最適な解決策であるとは限りません。代わりに、あるフォームの参照を別のフォームに渡すことを検討してください。

実装例:

この例では、メイン フォーム (Form1) が別のフォーム (フォーム2)。通信を容易にするために、Form2 はインスタンス化中に呼び出しフォームを引数として受け取り、そのメンバーへの参照を提供します。これにより、さまざまなコミュニケーションの可能性が広がります。

Form1:

public Form1()
{
    InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
    Form2 frm = new Form2(this);
    frm.Show();
}

public string LabelText
{
    get { return Lbl.Text; }
    set { Lbl.Text = value; }
}
ログイン後にコピー

Form2:

public Form2()
{
    InitializeComponent();
}

private Form1 mainForm = null;
public Form2(Form callingForm)
{
    mainForm = callingForm as Form1;
    InitializeComponent();
}

private void Form2_Load(object sender, EventArgs e)
{
}

private void button1_Click(object sender, EventArgs e)
{
    this.mainForm.LabelText = txtMessage.Text;
}
ログイン後にコピー

これを採用することで、このアプローチにより、フォーム間の通信がより柔軟になり、コントロールにアクセスしてデータを操作できるようになります。必要です。

以上がC# で別のフォームからフォーム コントロールに効率的にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート