C#程序窗体间使用回调事件方式通讯示例

 更新时间:2013年12月04日 09:46:34   作者:  
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);    
       }    
   }

相关文章

  • C#生成防伪码的思路及源码分享

    C#生成防伪码的思路及源码分享

    生成防伪码其实挺简单,但是如果要考虑效率和不重复的话,就需要稍微动动脑子了,下面我来说说我的思路及源码
    2014-06-06
  • c#动态调用Webservice的两种方法实例

    c#动态调用Webservice的两种方法实例

    这篇文章介绍了c#动态调用Webservice的两种方法实例,有需要的朋友可以参考一下
    2013-08-08
  • c# JSON返回格式的WEB SERVICE

    c# JSON返回格式的WEB SERVICE

    首先用c#创建一个web service,主要是利用其WSDL的功能,当然也可以利用php创建一个,道理都是一样的
    2008-12-12
  • 用C#将图片保存至Oracle BLOB字段中的方法

    用C#将图片保存至Oracle BLOB字段中的方法

    这篇文章主要介绍了用C#将图片保存至Oracle BLOB字段中的方法, 依靠ImageViewer库进行操作,需要的朋友可以参考下
    2015-07-07
  • C# PictureBox图片控件实现图片交换

    C# PictureBox图片控件实现图片交换

    在c#中可以使用PictureBox控件来呈现图像,本文主要介绍了C# PictureBox实现图片交换,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • C#中FlagsAttribute属性在enum中的应用详解

    C#中FlagsAttribute属性在enum中的应用详解

    这篇文章主要介绍了C#中FlagsAttribute属性在enum中的应用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • unity实现QQ截图功能

    unity实现QQ截图功能

    这篇文章主要为大家详细介绍了unity实现QQ截图功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • c# HashSet的扩容机制需要注意的

    c# HashSet的扩容机制需要注意的

    这篇文章主要介绍了c# HashSet的扩容机制需要注意的两个地方,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-06-06
  • C# winform循环播放多个视频

    C# winform循环播放多个视频

    这篇文章主要为大家详细介绍了C# winform循环播放多个视频的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • C#使用FileStream循环读取大文件数据的方法示例

    C#使用FileStream循环读取大文件数据的方法示例

    这篇文章主要介绍了C#使用FileStream循环读取大文件数据的方法,结合实例形式分析了FileStream文件流的形式循环读取大文件的相关操作技巧,需要的朋友可以参考下
    2017-05-05

最新评论