最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#?多窗口委托通信的實現(xiàn)

 更新時間:2022年03月30日 08:50:24   作者:葉子丶de花  
本文主要介紹了C#?多窗口委托通信的實現(xiàn),窗口之間通信無非有兩個方向,主窗口發(fā)送數(shù)據(jù)到副窗口,副窗口發(fā)送數(shù)據(jù)到主窗口,感興趣的可以了解一下

窗口之間通信無非有兩個方向,主窗口發(fā)送數(shù)據(jù)到副窗口,副窗口發(fā)送數(shù)據(jù)到主窗口。

代碼在最下面,先看一下解決的思路。

首先是簡單的主窗口傳數(shù)據(jù)到副窗口。

在副窗口創(chuàng)建一個函數(shù),必須是public修飾的?。?!,入口參數(shù)可以任意設(shè)置。

然后主窗體創(chuàng)建副窗體,直接調(diào)用副窗口函數(shù)即可實現(xiàn)數(shù)據(jù)傳輸。

藍框就是創(chuàng)建的窗口句柄的,等于已經(jīng)創(chuàng)建了一個新窗口(我個人是喜歡全局創(chuàng)建窗口,在后面可以直接判斷IsHandleCreated就可以知道窗口是否已經(jīng)被打開了,沒打開就再實例化一個,如果已經(jīng)創(chuàng)建,在紅框中判斷是否最小化,然后正常顯示窗口并置頂。)。

黃框就是顯示這個窗口第二行就是添加委托任務(wù)的,但是現(xiàn)在還不需要,所以這句可以暫時忽略,后面會說。第三句就是將數(shù)據(jù)同步到副窗口,然后下一句顯示窗口。

然后是副窗口傳數(shù)據(jù)到主窗口。

需要使用委托。上述的主窗口到副窗口也可以用委托。

需要現(xiàn)在副窗口內(nèi)創(chuàng)建委托事件。箭頭所指的部分可以自定義名稱,入口參數(shù)也可以自定義。

第一行先創(chuàng)建,第二行對應(yīng)到具體使用的函數(shù)名稱。

然后直接使用F_MoreSend_SyncData_To_Main(); 加參數(shù)即可傳數(shù)據(jù)到主窗口。

調(diào)用以下函數(shù)發(fā)送數(shù)據(jù)到主窗口。 

這只是副窗口的設(shè)置,還需要設(shè)置主窗口程序。

主窗體需要創(chuàng)建一個名稱不同的但是參數(shù)和參數(shù)名稱都一樣的函數(shù),此函數(shù)會映射到副窗口中的發(fā)送函數(shù)。副窗口發(fā)來的數(shù)據(jù)會在此函數(shù)內(nèi)處理。

此外主窗體顯示副窗口之前還需要將上述的兩個映射函數(shù)對應(yīng)起來。

完整代碼

副窗口:

//*創(chuàng)建委托任務(wù)
public delegate void Form_MoreSend_SyncData_To_Form_Main(byte flag, byte count, string data);
public event Form_MoreSend_SyncData_To_Form_Main F_MoreSend_SyncData_To_Main;
//*發(fā)送數(shù)據(jù)
F_MoreSend_SyncData_To_Main(0, 0, "01 23 45 67 89");
 
 
//*同步主窗口數(shù)據(jù)
public void F_MoreSend_SyncData_From_From_Main(byte flag, byte count, string data)
{
}

主窗體:

//*處理副窗口數(shù)據(jù)
public void Form_SyncData_From_MoreSend(byte flag, byte count, string data)
{
}
 
//*創(chuàng)建窗口
Form_MoreSend F_MoreSend = new Form_MoreSend();
 
//*按鍵打開窗口
private void Button_MoreSendData_Click(object sender, EventArgs e)
{
    if (!F_MoreSend.IsHandleCreated) //*未打開則打開
    {
        F_MoreSend = new Form_MoreSend();
		//*建立映射關(guān)系,接收副窗口數(shù)據(jù)
        F_MoreSend.F_MoreSend_SyncData_To_Main += Form_SyncData_From_MoreSend;
//*發(fā)送數(shù)據(jù)到副窗口
        F_MoreSend.F_MoreSend_SyncData_From_From_Main(0, 0, "");
        F_MoreSend.Show();
    }
    else if (F_MoreSend.IsHandleCreated) //*已打開則顯示
    {
        if (F_MoreSend.WindowState == FormWindowState.Minimized)
        {
            F_MoreSend.WindowState = FormWindowState.Normal;
        }
        //F_MoreSend.Focus();
        F_MoreSend.TopMost = true;
        F_MoreSend.TopMost = false;
    }
}

到此這篇關(guān)于C# 多窗口委托通信的實現(xiàn)的文章就介紹到這了,更多相關(guān)C# 多窗口委托通信內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 如何在C#項目中鏈接一個文件夾下的所有文件詳解

    如何在C#項目中鏈接一個文件夾下的所有文件詳解

    很多時候我們需要獲取一個結(jié)構(gòu)未知的文件夾下所有的文件或是指定類型的所有文件,下面這篇文章主要給大家介紹了關(guān)于如何在C#項目中鏈接一個文件夾下的所有文件,需要的朋友可以參考下
    2023-02-02
  • C# foreach獲取循環(huán)索引的四種方法

    C# foreach獲取循環(huán)索引的四種方法

    在C#中使用foreach循環(huán)的時候我們有時會碰到需要索引的情況,在for循環(huán)中我們可以得到循環(huán)索引 , foreach并不直接提供 , 下面介紹4種foreach獲取索引的方法,希望對大家有用處,需要的朋友可以參考下
    2025-03-03
  • C# 可空類型的實現(xiàn)示例

    C# 可空類型的實現(xiàn)示例

    本文主要介紹了C#中的可空類型,包含單問號(?)和雙問號(??),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-11-11
  • C#連接Oracle數(shù)據(jù)庫的多種方法總結(jié)

    C#連接Oracle數(shù)據(jù)庫的多種方法總結(jié)

    最近小項目當中要使用C#來連接Oracle數(shù)據(jù)庫來完成系統(tǒng)的操作,這篇文章主要給大家介紹了關(guān)于C#連接Oracle數(shù)據(jù)庫的多種方法,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-04-04
  • C#中字符串與字節(jié)數(shù)組的轉(zhuǎn)換方式

    C#中字符串與字節(jié)數(shù)組的轉(zhuǎn)換方式

    這篇文章介紹了C#中字符串與字節(jié)數(shù)組的轉(zhuǎn)換方式,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • C#索引屬性用法實例分析

    C#索引屬性用法實例分析

    這篇文章主要介紹了C#索引屬性用法,實例分析了C#聲明索引屬性的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • C#中委托的基本概念介紹

    C#中委托的基本概念介紹

    這篇文章主要介紹了C#中委托的基本概念介紹,本文講解了委托的使用、委托類型和委托實例、委托的合并和刪除、委托是不易變的、委托調(diào)用列表、GetInvocationList等內(nèi)容,需要的朋友可以參考下
    2015-02-02
  • c#掃描圖片去黑邊(掃描儀去黑邊)

    c#掃描圖片去黑邊(掃描儀去黑邊)

    最近項目遇到一個問題,需要對掃描出來的圖片進行去除黑邊,下面是實現(xiàn)代碼,需要的朋友可以參考下
    2014-03-03
  • C#條碼生成及打印實例代碼

    C#條碼生成及打印實例代碼

    這篇文章主要為大家詳細介紹了C#條碼生成及打印實例代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • c#讀取圖像保存到數(shù)據(jù)庫中(數(shù)據(jù)庫保存圖片)

    c#讀取圖像保存到數(shù)據(jù)庫中(數(shù)據(jù)庫保存圖片)

    這篇文章主要介紹了使用c#讀取圖像保存到數(shù)據(jù)庫中的方法,大家參考使用吧
    2014-01-01

最新評論

贵港市| 大姚县| 湄潭县| 东乡族自治县| 兴文县| 新巴尔虎右旗| 叶城县| 阿合奇县| 溧水县| 肥东县| 合肥市| 九江县| 南江县| 拉萨市| 白朗县| 长寿区| 澄江县| 龙门县| 鹿邑县| 鲁山县| 安塞县| 平顶山市| 阿勒泰市| 名山县| 新乡县| 德昌县| 武平县| 屯门区| 嘉兴市| 陆丰市| 炉霍县| 鹰潭市| 南郑县| 手游| 射阳县| 赤城县| 潮安县| 普兰店市| 洛隆县| 临颍县| 通江县|