WinForm中窗体间的数据传递(二)
2012-12-17 20:01
477 查看
通过子窗口向外引发一个事件,父窗口去实现该事件,我们可以再不关闭父窗口和子窗口的情况下进行数据的传输显示
![](http://pic002.cnblogs.com/images/2012/350329/2012121720540598.png)
思路:在子窗口“添加用户”的中通过点击"添加用户",会动态的向外引发一个事件,通过该事件,我们可以进行数据传递
在其他窗口中,可以来响应该事件
其中,子窗口只负责向外引发一个事件,将事件的实现方法委托给别的对象,至于事件具体如何做处理,子窗口是不关心的,这一点体现了松耦合的一个设置
原创文章,转载请注明出处:/article/4791453.html
![](http://pic002.cnblogs.com/images/2012/350329/2012121720540598.png)
思路:在子窗口“添加用户”的中通过点击"添加用户",会动态的向外引发一个事件,通过该事件,我们可以进行数据传递
在其他窗口中,可以来响应该事件
其中,子窗口只负责向外引发一个事件,将事件的实现方法委托给别的对象,至于事件具体如何做处理,子窗口是不关心的,这一点体现了松耦合的一个设置
涉及到的知识点: 1.如何定义一个事件? public delegate void UserAddEventHandler(); public event UserAddEventHandler UserAdd; 2.如何响应子窗口引发出来的事件? userDialog.UserAdd += userDialog_UserAdd;//将UserAdd的实现委托为userDialog_UserAdd方法 void userDialog_UserAdd() { //方法体 } 3.子窗口中如何向父窗口传递数据? 通过delegate的声明中,添加两个参数: public delegate void UserAddEventHandler(object sender,UserEventArgs e); 其中UserEventArgs是一个继承自EventArgs的类 public class UserEventArgs : EventArgs { public User currentUser { get;set;} public UserEventArgs(User user) { this.currentUser = user; } } 从而,在向外引发事件的时候,将User的信息通过第二个参数传递出去 private void button1_Click(object sender, EventArgs e) { //向外引发一个事件 if(UserAdd!=null) { User user = new User(); user.UserName = textBox3.Text; user.PassWord = textBox4.Text; UserAdd(this,new UserEventArgs(user)); } } 在父窗口的userDialog_UserAdd方法中,就可以对接收到的数据进行处理 private void 添加用户ToolStripMenuItem_Click(object sender, EventArgs e) { FrmUser userDialog = new FrmUser(); //将UserAdd的实现委托为userDialog_UserAdd方法 userDialog.UserAdd += userDialog_UserAdd; userDialog.ShowDialog(); } void userDialog_UserAdd(object sender,UserEventArgs e) { MessageBox.Show(e.currentUser.UserName); }
原创文章,转载请注明出处:/article/4791453.html
相关文章推荐
- Winform中如何实现父窗体传递数据到子窗体并刷新子窗体
- 【转载】WinForm 窗体间传递数据
- WinForm 中如何实现窗体间传递数据字符
- WinForm窗体间传递数据(一)
- Winform窗体间传递数据
- WinForm窗体之间数据传递的方法
- 1.窗体间的数据传递_winform数据库开发技巧(level200)
- WinForm中窗体间的数据传递(一)
- WinForm窗体间传递数据(三)
- WinForm 窗体间传递数据的一些方法
- WinForm登陆:窗体间的数据传递
- WinForm中窗体间的数据传递交互的一些方法
- WinForm 窗体间传递数据的一些方法
- WinForm 窗体间传递数据的一些方法[转]
- WinForm窗体间传递数据(二)
- 在winForm 中实现两个窗体间的数据传递
- WinForm 窗体间传递数据
- winform窗体间数据传递