对象.事件+=然后按“Tab"键,在按”Tab“键,事件自动生成。

解决方案 »

  1.   

    自定义事件用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;
    }
      

  2.   

    事件就是发生某件事情比如“单击button1按钮”就是button1_click事件 这个是不用写  而事件里面的代码表示这个事件发生以后产生的结果如何,这是必须要写的
    不知道你说的是不是“方法”  方法要自己写,然后你可以随时调用他
    c#里面的难点是委托,事件挂钩,和多线程结合使用,建议你多看看书
      

  3.   

    看应用情况,有些时候用事件恰当好处,参考例子,
    http://blog.csdn.net/zhzuo/archive/2004/06/15/22038.aspxhttp://blog.csdn.net/zhzuo/archive/2004/04/02/22026.aspx