上一篇介紹了透過委託事件的方式,實作了子窗體呼叫父窗體的控制項。本文將以參數傳遞的方式,實作共用一個實體物件。
本文所用的程式碼,也是在上一篇基礎上做修改。
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)!

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

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

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

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

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

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

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

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


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

禪工作室 13.0.1
強大的PHP整合開發環境

SublimeText3漢化版
中文版,非常好用

Dreamweaver CS6
視覺化網頁開發工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境