別のフォームからフォーム コントロールにアクセスする
複数のフォームがあり、別のフォームに属するコントロールにアクセスする必要があるシナリオでは、効率的な方法が重要です。 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 サイトの他の関連記事を参照してください。