欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

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

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

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

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

黃框就是顯示這個(gè)窗口第二行就是添加委托任務(wù)的,但是現(xiàn)在還不需要,所以這句可以暫時(shí)忽略,后面會說。第三句就是將數(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)建一個(gè)名稱不同的但是參數(shù)和參數(shù)名稱都一樣的函數(shù),此函數(shù)會映射到副窗口中的發(fā)送函數(shù)。副窗口發(fā)來的數(shù)據(jù)會在此函數(shù)內(nèi)處理。

此外主窗體顯示副窗口之前還需要將上述的兩個(gè)映射函數(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# 多窗口委托通信的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)C# 多窗口委托通信內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • WPF調(diào)用WindowsAPI實(shí)現(xiàn)屏幕錄制

    WPF調(diào)用WindowsAPI實(shí)現(xiàn)屏幕錄制

    這篇文章主要為大家詳細(xì)介紹了WPF如何調(diào)用WindowsAPI實(shí)現(xiàn)屏幕錄制,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)或工作有一定幫助,感興趣的小伙伴可以了解一下
    2023-05-05
  • C#/VB.NET實(shí)現(xiàn)在PDF文檔中創(chuàng)建表格

    C#/VB.NET實(shí)現(xiàn)在PDF文檔中創(chuàng)建表格

    表格是一種直觀高效的數(shù)據(jù)展示方式,可以按行和列的形式呈現(xiàn)數(shù)據(jù),從而更容易吸引讀者的注意,本文將介紹如何使用 Spire.PDF for .NET 通過 .NET 程序在 PDF 文檔中創(chuàng)建表格,需要的可以參考下
    2023-12-12
  • 解析在C#中接口和類的異同

    解析在C#中接口和類的異同

    今天小編就為大家分享一篇關(guān)于解析在C#中接口和類的異同,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • C# 多線程中經(jīng)常訪問同一資源可能造成哪些問題

    C# 多線程中經(jīng)常訪問同一資源可能造成哪些問題

    這篇文章主要介紹了C# 多線程中經(jīng)常訪問同一資源可能造成哪些問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • C#實(shí)現(xiàn)老板鍵功能的代碼

    C#實(shí)現(xiàn)老板鍵功能的代碼

    最近在做項(xiàng)目中遇到需要增加個(gè)老板鍵功能,找一慣的方式,開始從網(wǎng)絡(luò)下手尋找: 關(guān)鍵字類似”C# 老板鍵“,一搜,一堆又一堆,然而出來的代碼大多數(shù)都不是太合適,下面給大家分享下自己的解決方案已經(jīng)一個(gè)網(wǎng)友的解決方案,有需要的小伙伴可以參考下。
    2015-05-05
  • C#固定大小緩沖區(qū)及使用指針復(fù)制數(shù)據(jù)詳解

    C#固定大小緩沖區(qū)及使用指針復(fù)制數(shù)據(jù)詳解

    這篇文章主要為大家介紹了C#固定大小緩沖區(qū)及使用指針復(fù)制數(shù)據(jù)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • 一個(gè)讀寫csv文件的C#類

    一個(gè)讀寫csv文件的C#類

    這篇文章主要為大家詳細(xì)介紹了一個(gè)讀寫csv文件的C#類,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • C#交錯(cuò)數(shù)組淺析

    C#交錯(cuò)數(shù)組淺析

    這里介紹C#交錯(cuò)數(shù)組,數(shù)組是具有同一類型的一組值,數(shù)組是引用類型的,因此存在內(nèi)存堆中。數(shù)組中的元素值可以在定義數(shù)組時(shí)賦予,也可以在定義數(shù)組后對單個(gè)元素進(jìn)行賦值
    2012-09-09
  • C# 如何調(diào)用C++ dll string類型返回

    C# 如何調(diào)用C++ dll string類型返回

    這篇文章主要介紹了C# 如何調(diào)用C++ dll string類型返回問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • c#基礎(chǔ)——了解程序結(jié)構(gòu)

    c#基礎(chǔ)——了解程序結(jié)構(gòu)

    這篇文章主要介紹了c# 程序結(jié)構(gòu)的相關(guān)資料,文中講解非常細(xì)致,幫助大家更好的理解和學(xué)習(xí)C#,感興趣的朋友可以了解下
    2020-07-07

最新評論