zoukankan      html  css  js  c++  java
  • 分别用委托和事件和接口实现多窗体间的传值

    委托实现多窗口传值的一般流程是
    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、遍历受关注的窗体,并实现接口 实现接口的方法可以写在子窗体中

  • 相关阅读:
    python运行时参数m的作用
    如何设置.net控件SplitContainer平均分配
    不用安装Oracle客户端
    视频聊天APP
    Hadoop框架
    Shell
    Linux
    java14带参的方法
    java13人机猜拳
    java12类的无参方法
  • 原文地址:https://www.cnblogs.com/luwei-s/p/4541923.html
Copyright © 2011-2022 走看看