C# 不同窗口传递参数

form1:
private void button1_Click(object sender, System.EventArgs e)
        {
            Form2 frm = new Form2();
            frm.OnSendString += (text) => { textBox1.Text = text; };
            frm.Show();
        }

form2:
        public delegate void SendStringHandler(String text);
        public event SendStringHandler OnSendString;

        private void button1_Click(object sender, EventArgs e)
        {
            if (OnSendString != null)
            {
                OnSendString("在WinForms程序里实现窗体传值的最佳实践");
            }
        }

 

m_dlg.TextBoxChanged += new EventHandler(
  (sender1, e1) =>
  { richTextBox1.Text = m_dlg.TextBoxValue; }
  );

=>相当于

m_dlg.TextBoxChanged
+= new EventHandler(m_dlg_textboxchanged); ... private void m_dlg_textboxchanged(object sender1, EventArgs e1) { richTextBox1.Text = m_dlg.TextBoxValue; }

 

posted @ 2017-11-15 14:40  随遇而安(huangjun)  阅读(1767)  评论(1编辑  收藏  举报