.net第四章

1.两个窗体的联系

1)、构造传递

public Form2 (string m)
{
InitializeComponent();
label1.Text = m;
}

//Form 1调用

private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2(textBox1.Text.Trim());
f2.Show();
}

2)、公有字段传递

public string Msg
{
get { return label1.Text.Trim(); }
set { label1.Text = value; }
}

Form1调用

Form2 f2;
private void button1_Click(object sender, EventArgs e)
{
//Form2 f2 = new Form2(textBox1.Text.Trim());
//f2.Show();
//f2 = new Form2(this);
//f2.Show();
f2.Msg = textBox1.Text;
}

2.委托与事件传递:

功能:实现子窗体中改变父窗体的内容,通过委托和事件传值给父窗体。

委托的声明:delegate <函数返回类型> <委托名> (<函数参数>)   public delegate void TextChangedHandler(string s);

事件声明:event <委托类型> 事件名  public event TextChangedHandler SelTextChanged;

 

3. 线程与进程的区别:

窗体线程规则:除了极少数例外情况,都不要在它的创建线程以外的线程中使用控件中的任何成员

                         若要使用,则需要异步委托调用

 

posted @ 2017-10-06 21:24  吾_东峰  阅读(146)  评论(0编辑  收藏  举报