C# Winform 子窗體訪問(wèn)父級(jí)窗體的控件和屬性
今天在做一個(gè)聯(lián)系人管理的C#設(shè)計(jì)時(shí),遇到了這個(gè)問(wèn)題,我需要將父窗體中的textBox中的值傳到子窗體并進(jìn)行數(shù)據(jù)庫(kù)查詢操作,我用了new 父窗體().textBox.text;來(lái)進(jìn)行值傳遞,然而并無(wú)卵用,經(jīng)過(guò)多次試驗(yàn),找到了一個(gè)比較簡(jiǎn)單的解決方法:
一、子窗體調(diào)用父窗體的靜態(tài)變量
父窗體:Logout
子窗體:Affirm
父窗體文本框:tB_Logout_Username
public partial class Logout : Form { //定義一個(gè)靜態(tài)變量存放父窗體中的文本框的值 public static string tB_LogoutName; //實(shí)例化子窗體的事件 private void btt_Logout_Click(object sender, EventArgs e) { //獲取父窗體中的文本框的值 tB_LogoutName = tB_Logout_Username.Text; Affirm aff = new Affirm(); aff.Show(); } }
接下來(lái)要在子窗體中調(diào)用就可以直接:父窗體.變量
即:Logout.tB_LogoutName
這個(gè)方法顯得比較取巧,按理說(shuō)應(yīng)該先找到獲取父窗體的方法,然后再對(duì)其進(jìn)行操作。
二、將父窗體作為屬性傳遞給子窗體
在你的子窗體中定義public 的父窗體字段,如:
public class Affirm:Form { public Logout MyLogout; }
然后在父窗體設(shè)置其值即可,如:
public partial class Logout : Form { //定義一個(gè)靜態(tài)變量存放父窗體中的文本框的值 public static string tB_LogoutName; //實(shí)例化子窗體的事件 private void btt_Logout_Click(object sender, EventArgs e) { //獲取父窗體中的文本框的值 //tB_LogoutName = tB_Logout_Username.Text; Affirm aff = new Affirm(); aff.MyLogout=this; aff.Show(); } }
這樣,父窗體中公開的成員你都可以在子窗體中訪問(wèn),使用。
- C# WinForm遍歷窗體控件的3種方法
- C# Winform 實(shí)現(xiàn)控件自適應(yīng)父容器大小的示例代碼
- C# WinForm-Timer控件的使用
- c# Winform自定義控件-儀表盤功能
- C# winform自定義翻頁(yè)控件詳解
- C# WinForm實(shí)現(xiàn)窗體上控件自由拖動(dòng)功能示例
- C# WinForm制作異形窗體與控件的方法
- C#中WinForm控件的拖動(dòng)和縮放的實(shí)現(xiàn)代碼
- C# WinForm控件對(duì)透明圖片重疊時(shí)出現(xiàn)圖片不透明的簡(jiǎn)單解決方法
- c# Winform同一數(shù)據(jù)源多個(gè)控件保持同步
相關(guān)文章
Unity實(shí)現(xiàn)ScrollView滑動(dòng)吸附功能
這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)ScrollView滑動(dòng)吸附功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-09-09

C#中如何將MongoDB->RunCommand結(jié)果映射到業(yè)務(wù)類的方法總結(jié)

C#實(shí)現(xiàn)簡(jiǎn)單獲取掃碼槍信息代碼