zoukankan      html  css  js  c++  java
  • C#中用事件实现窗体间的传值

    用事件 实现窗体间的传值

    父窗体代码如下:

    namespace 窗体间传值_用事件来做
    {
        public partial class Parentfrm : Form
        {
            //定义消息发布的事件
            public event EventHandler AfterMsgEvent;
            public Parentfrm()
            {
                InitializeComponent();
            }
    
            private void Parentfrm_Load(object sender, EventArgs e)
            {
                Childfrm frm = new 窗体间传值_用事件来做.Childfrm();
                //子窗体弹出来之前关注父窗体的变化 事件方式
                AfterMsgEvent += frm.AfterParentFrmTextChange;//在childfrm中生成方法
                frm.Show();
            }
    
            private void btnSend_Click(object sender, EventArgs e)
            {
                //触发事件
                AfterMsgEvent(this, new TextBoxMsgChangeEventArg()
                { Text = this.txtMsg.Text });//属性触发器
            }
    
           
        }
    }
    View Code


    用于存储文本的属性类代码如下:

    namespace 窗体间传值_用事件来做
    {
        public class TextBoxMsgChangeEventArg:EventArgs//写一个类继承于EventArgs,这样在父窗体中点击按钮时就能调用
        {
            public string Text { get; set; }//写一个属性来存储文本
        }
    }

    子窗体代码如下:

    namespace 窗体间传值_用事件来做
    {
        public partial class Childfrm : Form
        {
            public void SetText(string txt)
            {
                txtMsg.Text = txt;
            }
            public Childfrm()
            {
                InitializeComponent();
            }
    
            public void AfterParentFrmTextChange(object sender, EventArgs e)
            {
                //拿到父窗体传来的文本
                TextBoxMsgChangeEventArg arg = e as TextBoxMsgChangeEventArg;
                this.SetText(arg.Text);//调用方法,将类属性存储的文本传给他
    
            }
    
            private void Childfrm_Load(object sender, EventArgs e)
            {
    
            }
        }
    }
  • 相关阅读:
    Topcoder SRM656div1 250 ( 期望DP )
    SCAU 2015 GDCPC team_training1
    第五次群赛暨清明节专场
    HDU 2783 You’ll be Working on the Railroad(最短路)
    HDU 4013 Distinct Subtrees(树的最小表示)
    HDU 4014 Jimmy’s travel plan(图计数)
    SCAU 2015 GDCPC team_training0
    HDU 1024 Max Sum Plus Plus (递推)
    UVA 12849 Mother’s Jam Puzzle( 高斯消元 )
    HDU 4285 circuits( 插头dp , k回路 )
  • 原文地址:https://www.cnblogs.com/xiaoyaohan/p/9682099.html
Copyright © 2011-2022 走看看