请问各位大侠c#中的事件问题! 对象.事件+=然后按“Tab"键,在按”Tab“键,事件自动生成。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 自定义事件用delegate.举一个简单例子,Form1为主窗口,Form2为子窗口.点击Form1上的按钮弹出Form2,然后点击Form2上的按钮将Form2的相关数据传递给Form1.Form2窗口的主要代码:首先定义代理public delegate [返回值类型] [delegateName](参数列表);这里的参数可以是string,int等类型,也可以按标准的事件参数,如:public delegate void TextChange(object sender,EventArgs args)然后定义事件public event [delegateName] [name]; public delegate void GetForm(string value); public event GetForm GetFormHandle; public delegate void GetArgs(object sender, MyEventArgs args); public event GetArgs GetButtonArgs; private void button1_Click(object sender, EventArgs e) { if (this.GetFormHandle != null) { this.GetFormHandle(this.textBox1.Text); } this.Close(); } private void button2_Click(object sender, EventArgs e) { if (this.GetButtonArgs != null) { this.GetButtonArgs(sender, new MyEventArgs(this.textBox1.Text, this.button2.Text)); } this.Close(); } public class MyEventArgs : EventArgs { private string name; private string title; public MyEventArgs(string name,string title) { this.name = name; this.title = title; } public string Name { get { return this.name; } set { this.name = value; } } public string Title { get { return this.title; } set { this.title = value; } } }Form1窗口的主要代码:private void button1_Click(object sender, EventArgs e) { Form2 f = new Form2(); f.GetFormHandle += new Form2.GetForm(f_GetFormHandle); f.GetButtonArgs += new Form2.GetArgs(f_GetButtonArgs); f.Show(); }void f_GetButtonArgs(object sender, MyEventArgs args){ MessageBox.Show(((Button)sender).Text + args.Name + args.Title); return;}public void f_GetFormHandle(string value){ this.textBox1.Text = value;} 事件就是发生某件事情比如“单击button1按钮”就是button1_click事件 这个是不用写 而事件里面的代码表示这个事件发生以后产生的结果如何,这是必须要写的不知道你说的是不是“方法” 方法要自己写,然后你可以随时调用他c#里面的难点是委托,事件挂钩,和多线程结合使用,建议你多看看书 看应用情况,有些时候用事件恰当好处,参考例子,http://blog.csdn.net/zhzuo/archive/2004/06/15/22038.aspxhttp://blog.csdn.net/zhzuo/archive/2004/04/02/22026.aspx 怎么自动加? 【新浪微博】能告诉我吗?我想知道C#怎么自动获取pin码。 (高分求,在线等)a表3个字段,外加2个额外字段的数据,添加到b表,SQL怎么写 c# toolbar 刚学看不太懂~~~ 请教"索引器"的使用场景问题~谢谢 关于C#书籍求教 判断客户端是否安装有.NET framework的插件是什么? 如何得到删除掉的记录,dataSet中 C#里的字节流传输 菜鸟的菜问题 修改数据库的问题 C#即时通信
举一个简单例子,Form1为主窗口,Form2为子窗口.
点击Form1上的按钮弹出Form2,然后点击Form2上的按钮将Form2的相关数据传递给Form1.Form2窗口的主要代码:
首先定义代理
public delegate [返回值类型] [delegateName](参数列表);
这里的参数可以是string,int等类型,
也可以按标准的事件参数,如:public delegate void TextChange(object sender,EventArgs args)
然后定义事件
public event [delegateName] [name]; public delegate void GetForm(string value);
public event GetForm GetFormHandle; public delegate void GetArgs(object sender, MyEventArgs args);
public event GetArgs GetButtonArgs; private void button1_Click(object sender, EventArgs e)
{
if (this.GetFormHandle != null)
{
this.GetFormHandle(this.textBox1.Text);
}
this.Close();
} private void button2_Click(object sender, EventArgs e)
{
if (this.GetButtonArgs != null)
{
this.GetButtonArgs(sender, new MyEventArgs(this.textBox1.Text, this.button2.Text));
}
this.Close();
}
public class MyEventArgs : EventArgs
{
private string name;
private string title; public MyEventArgs(string name,string title)
{
this.name = name;
this.title = title;
}
public string Name
{
get { return this.name; }
set { this.name = value; }
}
public string Title
{
get { return this.title; }
set { this.title = value; }
}
}
Form1窗口的主要代码:
private void button1_Click(object sender, EventArgs e)
{
Form2 f = new Form2();
f.GetFormHandle += new Form2.GetForm(f_GetFormHandle);
f.GetButtonArgs += new Form2.GetArgs(f_GetButtonArgs);
f.Show();
}void f_GetButtonArgs(object sender, MyEventArgs args)
{
MessageBox.Show(((Button)sender).Text + args.Name + args.Title);
return;
}public void f_GetFormHandle(string value)
{
this.textBox1.Text = value;
}
不知道你说的是不是“方法” 方法要自己写,然后你可以随时调用他
c#里面的难点是委托,事件挂钩,和多线程结合使用,建议你多看看书
http://blog.csdn.net/zhzuo/archive/2004/06/15/22038.aspxhttp://blog.csdn.net/zhzuo/archive/2004/04/02/22026.aspx