子窗體(FromA)改變父窗體(MainForm)中控件的屬性(利用委託)
代碼(MainForm.cs):
namespace TestSelect { public partial class MainForm : Form { public MainForm() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { FormA fm = new FormA(); fm.change+=new FormA.ChangeMainForm(ChangeLable); fm.ShowDialog(); } private void ChangeLable(string str) { label1.Text = str; } } }
代碼(FormA.cs):
namespace TestSelect { public partial class FormA : Form { public FormA() { InitializeComponent(); } public delegate void ChangeMainForm(string str); public event ChangeMainForm change; private void button1_Click(object sender, EventArgs e) { change(textBox1.Text); } } }
其實簡單的改變父窗體不需要用到這個東西,不過個人感覺還是挺好的!(例:窗體關係A-B-C,需要C change A)