• 分别用委托和事件和接口实现多窗体间的传值


    委托实现多窗口传值的一般流程是
    1、创建委托类型 private Action<string> AfterMsgSend { get; set; }
    2、创建窗体对象 ChildFrm frm = new ChildFrm();
    3、给委托注册方法(追加),注意此处的方法是窗体的方法 即frm.方法 AfterMsgSend += frm.SetText;//窗体打开之前给委托注册方法
    4、frm.Show();
    5、触发方法 AfterMsgSend(txtMessage.Text.Trim());

    事件实现多窗口传值的一般流程是
    1、 private event EventHandler AfterMsgChangeEvent; //定 义消息发布的事件
    2、 ChildFrm frm = new ChildFrm();
    AfterMsgChangeEvent += frm.AfterParentFrmTextChange; //给窗体注册事件
    //这个是子窗体中的方法,与委托类似
    public void AfterParentFrmTextChange(object sender, EventArgs e)
    {
    //拿到父窗体的传来的文本
    TextBoxMsgChangeEventArg arg = e as TextBoxMsgChangeEventArg;
    this.SetText(arg.Text);
    }
    frm.Show()
    3、触发事件
    AfterMsgChangeEvent(this, new TextBoxMsgChangeEventArg() { Text = this.txtMessage.Text });

    //上面用到的方法

    public class TextBoxMsgChangeEventArg : EventArgs
    {
    public string Text { get; set; }
    }

    用接口实现多窗口传值的流程
    1、定义接口
    2、主窗体中创建一个集合(属性)来接收关注窗体
    3、创建窗口,如果要实现接口将其加入到受主窗体所关注的窗体中来
    4、遍历受关注的窗体,并实现接口 实现接口的方法可以写在子窗体中

  • 相关阅读:
    wxpython 浏览器框架
    wxpython 开发播放器
    Docker学习(三)——Docker镜像使用
    Docker学习(二)——Docker容器使用
    SSL/TLS协议
    Https原理及证书管理
    证书及证书管理
    Docker学习(一)——安装docker
    Linux系统中安装软件方法总结
    Linux下删除的文件如何恢复
  • 原文地址:https://www.cnblogs.com/luwei-s/p/4541923.html
Copyright © 2020-2023  润新知