WinForm--(子窗體改變父窗體中控件的屬性-委託)

子窗體(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)

 

發佈了124 篇原創文章 · 獲贊 16 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章