我有一個基本形式From1。在單擊按鈕時的表單From2中,將創建新表單。
private void Button_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.Show();
}
用戶可以創建多個From2. 用戶可以在From2textBox 中設定一個值并單擊一個按鈕。一旦它被點擊,來自 textBox 的值必須以某種方式轉移到所有其他創建的From2. 我怎樣才能做到這一點?
uj5u.com熱心網友回復:
第 1 步:記住您創建的所有表格。
private void Button_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
allForms.Add(f2); // remember it
f2.Show();
}
第 2 步:當值發生變化時,更新所有記住的表單
private void textbox1_TextChanged(object sender, EventArgs e)
{
foreach (Form2 form in allForms)
{
form.MyValue = textbox1.Text;
}
}
只需撰寫這樣的代碼,然后讓 IDE 幫助您創建屬性并相應地調整可見性,例如讓 IDE 幫助您在 Form2 中實作設定文本的屬性
string MyValue
{
set
{
anotherTextbox.Text = value;
}
}
然后你會注意到你可能需要更多的東西。
第 3 步:關閉時從串列中洗掉表單。
private void Button_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
allForms.Add(f2);
f2.Closed = OnClose; // Method to be called when form is closed
f2.Show();
}
private void OnClose(object sender, EventArgs e)
{
Form2 form = (Form2) sender;
form.Closed -= OnClose; // Unregister event handler
allForms.Remove(form); // remove it
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/440020.html
