C# Winform 子窗體訪問父級窗體的控件和屬性
今天在做一個聯(lián)系人管理的C#設計時,遇到了這個問題,我需要將父窗體中的textBox中的值傳到子窗體并進行數(shù)據(jù)庫查詢操作,我用了new 父窗體().textBox.text;來進行值傳遞,然而并無卵用,經過多次試驗,找到了一個比較簡單的解決方法:
一、子窗體調用父窗體的靜態(tài)變量
父窗體:Logout
子窗體:Affirm
父窗體文本框:tB_Logout_Username
public partial class Logout : Form { //定義一個靜態(tài)變量存放父窗體中的文本框的值 public static string tB_LogoutName; //實例化子窗體的事件 private void btt_Logout_Click(object sender, EventArgs e) { //獲取父窗體中的文本框的值 tB_LogoutName = tB_Logout_Username.Text; Affirm aff = new Affirm(); aff.Show(); } }
接下來要在子窗體中調用就可以直接:父窗體.變量
即:Logout.tB_LogoutName
這個方法顯得比較取巧,按理說應該先找到獲取父窗體的方法,然后再對其進行操作。
二、將父窗體作為屬性傳遞給子窗體
在你的子窗體中定義public 的父窗體字段,如:
public class Affirm:Form { public Logout MyLogout; }
然后在父窗體設置其值即可,如:
public partial class Logout : Form { //定義一個靜態(tài)變量存放父窗體中的文本框的值 public static string tB_LogoutName; //實例化子窗體的事件 private void btt_Logout_Click(object sender, EventArgs e) { //獲取父窗體中的文本框的值 //tB_LogoutName = tB_Logout_Username.Text; Affirm aff = new Affirm(); aff.MyLogout=this; aff.Show(); } }
這樣,父窗體中公開的成員你都可以在子窗體中訪問,使用。
相關文章
C#中如何將MongoDB->RunCommand結果映射到業(yè)務類的方法總結
這篇文章主要給大家總結介紹了關于C#中如何將MongoDB->RunCommand結果映射到業(yè)務類的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起看看吧。2018-04-04