VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > c#编程 >
  • C#教程之C#程序窗体间使用回调事件方式通讯示例

Form2:

 

复制代码 代码如下:

//定义一个需要string类型参数的委托        
publicdelegate void MyDelegate(string text);        
public partial class Form2 :Form1    
    {        
       //定义该委托的事件    
        public event MyDelegate MyEvent;    
        public Form2(string text)    
        {     
            InitializeComponent();    
            this.textBox1.Text = text;    
       }    
       private void btnChange_Click(object sender, EventArgs e)                  
       {    

 

           //触发事件,并将修改后的文本回传    
           MyEvent(this.textBox1.Text);    
           this.Close();    
        }    
   }

 

Form1:

 

复制代码 代码如下:

public partial class Form1 :Form    
    {    
        public int index = 0;    
        public string text = null;    
        public Form1()    
        {    
            InitializeComponent();    
        }    

        private void listBox1_SelectedIndexChanged(object sender, EventArgse)    
        {    
            if (this.listBox1.SelectedItem != null)    
            {    
                text = this.listBox1.SelectedItem.ToString();    
                index = this.listBox1.SelectedIndex;    
                Form2 form2 = new Form2(text);    

               //注册form2_MyEvent方法的MyEvent事件    
                form2.MyEvent += new MyDelegate(form2_MyEvent);    
                form2.Show();    
            }    
        }    

       //处理    

        void form2_MyEvent(string text)    
        {    
            this.listBox1.Items.RemoveAt(index);    
            this.listBox1.Items.Insert(index, text);    
       }    
   }

相关教程