日韩欧美国产精品免费一二-日韩欧美国产精品亚洲二区-日韩欧美国产精品专区-日韩欧美国产另-日韩欧美国产免费看-日韩欧美国产免费看清风阁

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

C#通過事件event實現主窗體與子窗體間數據交互

admin
2025年3月19日 18:16 本文熱度 519

主窗體接收子窗體消息

1-聲明委托,要放在類的外面,在主窗體還是子窗體聲明都可以

2-根據委托編寫具體方法(在調用的類中寫)

3-創建委托變量(誰使用誰創建,即發送方)

4-關聯具體方法(委托變量和具體方法關聯)(在調用的類中緊跟著對象的類寫)

左邊是第3步delegate聲明的委托變量,右邊是第2步編寫的方法

5-使用委托變量調用關聯的方法(在哪里使用,在哪里寫,即和委托變量在一個類中)

即用第3步的委托變量替換第2步的方法名稱,并傳遞具體參數

主窗體向子窗體發送消息

1-聲明委托,要放在類的外面,在主窗體還是子窗體聲明都可以

2-編寫具體方法

3-創建委托變量(那里使用那里定義)

4-關聯具體方法(委托變量和具體方法關聯)(在調用的類中緊跟著對象的類寫)

左邊是第3步delegate聲明的委托變量,右邊是第2步編寫的方法

5-使用委托變量調用關聯的方法

即用第3步的委托變量替換第2步的方法名稱,并傳遞具體參數



創建一個子窗體FrmChild
代碼如下

namespace _004_事件

{

    public partial class FrmChild : Form

    {

        public FrmChild(string childName)

        {

            InitializeComponent();

            this.Text += childName;//子窗體名稱后

        }

        //【主窗體接收子窗體消息****】3-定義事件變量

        public event delRecMsg RecmsgEvent;

        private void btSend_Click(object sender, EventArgs e)

        {

            //【主窗體接收子窗體消息 ****】5- 激發事件(使用事件變量調用關聯的方法)

            RecmsgEvent(this.txtChildSendMsg.Text.Trim(), this.Text);

        }

        //【****主窗體向子窗體發送消息】2-編寫具體方法

        public void PassMsg(string msg)

        {

            this.txtChildRecMsg.Text = msg;

        }        

    }

}

主窗體
代碼如下

namespace _004_事件

{

    //事件時對象在外界的"刺激"下發生的事情,而對外提供的一種消息機制

    //事件的兩個參與者

    //發送者,即對象本身,當本身狀態發生變化時,觸發事件,并通知事件的接受者

    //接收者,用來處理事件,在事件發送者觸發一個事件后,會自動執行的內容


    //【主窗體接收子窗體消息****】1-聲明委托,要放在類的外面,在主窗體還是子窗體聲明都可以

    public delegate void delRecMsg(string Recmsg, string childName);


    //【****主窗體向子窗體發送消息】1-聲明委托,要放在類的外面,在主窗體還是子窗體聲明都可以

    public delegate void delSendMsg(string Sendmsg);

    public partial class FrmMain : Form

    {

        //【****主窗體向子窗體發送消息】3-定義事件變量

        public event delSendMsg SendMsgEvent;//將事件定義為委托類型

        public FrmMain()

        {

            InitializeComponent();

        }

        #region 【主窗體接收子窗體消息****】

        //【主窗體接收子窗體消息****】2-編寫事件響應方法

        private void ShowMsg(string msg, string childName)

        {

            this.txtMainRecieveMsg.Text += $"{childName}的消息:{msg}\r\n";//回車換行

        }

        #endregion


        #region 【****主窗體向子窗體發送消息】     

        private void btMainSend_Click(object sender, EventArgs e)

        {

            //【****主窗體向子窗體發送消息】5-激發事件(使用事件變量調用關聯的方法)

            //相當于調用子窗體中的frmChild.PassMsg方法,并將參數進行傳遞

            SendMsgEvent(this.txtMainSendMsg.Text.Trim());

        }

        private void btFrmChild_Click(object sender, EventArgs e)//創建窗體

        {

            for (int i = 1; i < 4; i++)

            {

                FrmChild frmChild = new FrmChild($"這是第{i}個子窗體");//創建子窗體時給子窗體添加標題

                frmChild.Show();


                //【主窗體接收子窗體消息****】4-關聯具體方法(委托變量和具體方法關聯)(在調用的類中緊跟著對象的類寫)

                //將事件變量與方法進行關聯,左邊是委托變量,右邊是方法            

                frmChild.RecmsgEvent += ShowMsg;


                //【****主窗體向子窗體發送消息】4-關聯具體方法(委托變量和具體方法關聯)(在調用的類中緊跟著對象的類寫)

                SendMsgEvent += frmChild.PassMsg;

                //每次創建窗體時把窗體加到list集合中


                //this.list.Add(frmChild);

            }

        }

        #endregion

    }

}


該文章在 2025/3/19 18:22:34 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 日韩一区二区超清视频 | 在线成人亚洲一区电影 | 亚洲限制级资源在线观看 | 天堂成人 | 亚洲mv大片欧洲mv大片入口 | 一本大道 | 亚洲精品一区国产 | 在线视频下载 | 免费网剧电视剧大全 | 欧美a级毛欧美1级a 国产午夜不卡 | 噼里啪啦电影在线观看免费 | 涩涩视频污污 | 亚洲国产综合在线 | 99视频免费 | 麻花传媒免费网站在线观看 | 97精品视频在线观看 | 精品国产一区在线观看 | 二区三区欧美精品在线观看 | 日韩精品福利片午夜免费观着 | 国产精品一区二区中文字 | 中文字幕人成人乱码亚洲电影 | 国产一级视频播放 | 欧美精品亚洲精品日韩精品 | 日本高清激情乱一区二区三区 | 观看一区二区视频 | 九九九热在线精品免费全部 | 国产一级 | 国产91j | 最新在线观看视频国产91 | 日韩一本之道一 | 国产69公社在线视频 | 日产a一a区二区 | 亚洲国产欧美日韩另类 | 香蕉国产在线 | 亚洲国产精品美女 | a人妖亚洲 | 国产制服丝袜观看 | 在线中文字幕不卡视频 | 国产一级做a爱免费观看 | 国产欧美一区二区三区在线看 | 午夜dj免费视频在线观看 |