搜尋
首頁後端開發C#.Net教程從0自學C#06--多窗體共用對象

上一篇介紹了透過委託事件的方式,實作了子窗體呼叫父窗體的控制項。本文將以參數傳遞的方式,實作共用一個實體物件。

本文所用的程式碼,也是在上一篇基礎上做修改。

1.父窗體

將共用實體物件innoBERT作為子窗體建構子的參數。程式碼如下“修改此行”部分。

if (subFormPPGTx[i] == null || subFormPPGTx[i].IsDisposed)
                    {
                        subFormPPGTx[i] = new SubFormPPG(innoBERT, i);//修改此行
                        subFormPPGTx[i].Text = formTitle;
                        subFormPPGTx[i].Name = formName;
                        //subFormPPGTx[i].Tag = i;
                        subFormPPGTx[i].SendToParent += new SubFormPPG.SendFun(RecvInfo);
                        subFormPPGTx[i].Show(this);
                    }
                    else
                    {
                        subFormPPGTx[i].WindowState = FormWindowState.Normal;
                        subFormPPGTx[i].Activate();
                    }

2.子窗體

先定義一個類別字段,然後修改子窗體的建構函數,添加參數,用於接收父窗體傳遞的實體物件。這樣就可以在子窗體裡,呼叫實體物件innoBERT。

InnolightBERT innolightBERT;bool formStatus = false;private int ID;
public delegate void SendFun(int number);
public event SendFun SendToParent;
public SubFormPPG(InnolightBERT innoBERT, int ID)
{
    InitializeComponent();    this.innolightBERT = innoBERT;//接收对象
    this.ID = ID;
}

3.應用

子窗體呼叫共用實體物件的屬性。

private void SubFormPPG_Load(object sender, EventArgs e)
{    this.GetPPGSetting(this.ID);
}private void GetPPGSetting(int channel)
{    try
    {        switch (channel)
        {            case 0:                
this.comboBoxSwing.SelectedIndex = (int)innolightBERT.Tx1_Swing;                
break;            
case 1:                
this.comboBoxSwing.SelectedIndex = (int)innolightBERT.Tx2_Swing;                
break;            
case 2:                
this.comboBoxSwing.SelectedIndex = (int)innolightBERT.Tx3_Swing;                
break;            
case 3:                
this.comboBoxSwing.SelectedIndex = (int)innolightBERT.Tx4_Swing;               
 break;            
 default:                
 return;
        }
    }    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

以上就是 從0自學C#06--多窗體共用物件的內容,更多相關內容請關注PHP中文網(www.php.cn)!


陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
​Unity遊戲開發:C#實現3D物理引擎與AI行為樹​Unity遊戲開發:C#實現3D物理引擎與AI行為樹May 16, 2025 pm 02:09 PM

在Unity中,3D物理引擎和AI行為樹可以通過C#實現。 1.使用Rigidbody組件和AddForce方法可以創建滾動的球。 2.通過行為樹節點如Patrol和ChasePlayer,可以設計AI角色巡邏和追擊玩家的行為。

u在c語言中是什麼意思 u在c語言中的無符號修飾u在c語言中是什麼意思 u在c語言中的無符號修飾May 16, 2025 pm 02:06 PM

u在C語言中用於聲明無符號整數常量。 1.u後綴表示無符號整數,如10u。 2.無符號整數範圍從0開始,不含負數,適用於大範圍正數和位操作。 3.使用無符號整數時需注意溢出和負數處理問題。

/0在c語言中是什麼意思? 空字符/0在字符串中的結尾/0在c語言中是什麼意思? 空字符/0在字符串中的結尾May 16, 2025 pm 02:03 PM

在C語言中,/0指的是空字符,用於標記字符串的結束。 1)空字符在ASCII碼表中的值是0。2)它是C語言字符串處理的基礎,編譯器會自動在字符串末尾添加空字符。 3)空字符不可見但在內存中存在,告訴字符串函數字符串結束位置。 4)使用時需確保字符串以空字符結尾,避免未定義行為。

c語言中bool表示什麼 bool類型在c語言中的真假值c語言中bool表示什麼 bool類型在c語言中的真假值May 16, 2025 pm 02:00 PM

在C語言中,bool類型是通過頭文件引入的,用於表示真假值。 1.bool類型的值可以是true(1)或false(0),任何非零值都被視為true。 2.使用bool類型可以提高代碼的可讀性,特別是在處理複雜的邏輯條件時。 3.雖然bool類型方便,但在某些情況下,使用整數類型進行布爾操作可能更高效。

在c語言中e的x次方怎麼弄 c語言中計算指數函數的方法在c語言中e的x次方怎麼弄 c語言中計算指數函數的方法May 16, 2025 pm 01:57 PM

在C語言中計算e的x次方可以使用泰勒級數法和標準庫中的exp函數。 1.泰勒級數法通過近似計算,適合精度要求不高的情況,但大數時可能溢出。 2.exp函數法使用math.h頭文件,精度高且優化好,但需鏈接數學庫。選擇方法需根據具體需求。

c語言中的avg是什麼意思 avg在c語言中的平均值縮寫c語言中的avg是什麼意思 avg在c語言中的平均值縮寫May 16, 2025 pm 01:54 PM

在C語言中,avg通常表示“平均值”,是計算一組數平均值的常見變量名。 1.聲明變量:用avg存儲平均值。 2.累加和計算:遍歷數據集並累加所有數值,然後除以數據集長度。 3.結果存儲:將平均值存入avg變量。使用double或float類型可提高計算精度。

aa在c語言中是什麼意思 aa在c語言中的變量命名規則aa在c語言中是什麼意思 aa在c語言中的變量命名規則May 16, 2025 pm 01:51 PM

"aa"在C語言中沒有特殊含義,僅為普通標識符。 1.變量名規則:只能包含字母、數字和下劃線,以字母或下劃線開頭,不能是關鍵字,區分大小寫。 2.最佳實踐:使用有意義的名稱,避免過長,使用駝峰或下劃線命名法,避免混淆名稱。

f在c語言中代表什麼 詳解c語言中f的含義及常見用法f在c語言中代表什麼 詳解c語言中f的含義及常見用法May 16, 2025 pm 01:48 PM

在C語言中,f代表浮點數,具體用法包括:1.作為格式說明符,用於printf和scanf函數;2.出現在數學函數名中,如sinf、cosf;3.作為浮點數後綴,指定類型為float;4.在浮點運算中需注意精度問題,使用容忍度進行比較;5.使用float可優化性能,但需權衡精度。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境