C# Winform 子窗體拜訪父級窗體的控件和屬性。本站提示廣大學習愛好者:(C# Winform 子窗體拜訪父級窗體的控件和屬性)文章只能為提供參考,不一定能成為您想要的結果。以下是C# Winform 子窗體拜訪父級窗體的控件和屬性正文
明天在做一個接洽人治理的C#設計時,碰到了這個成績,我須要將父窗體中的textBox中的值傳到子窗體並停止數據庫查詢操作,我用了new 父窗體().textBox.text;來停止值傳遞,但是並沒有卵用,經由屢次實驗,找到了一個比擬簡略的處理辦法:
1、子窗體挪用父窗體的靜態變量
父窗體:Logout
子窗體:Affirm
父窗體文本框:tB_Logout_Username
public partial class Logout : Form { //界說一個靜態變量寄存父窗體中的文本框的值 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
這個辦法顯得比擬取巧,按理說應當先找到獲得父窗體的辦法,然後再對其停止操作。
2、將父窗體作為屬性傳遞給子窗體
在你的子窗體中界說public 的父窗體字段,如:
public class Affirm:Form { public Logout MyLogout; }
然後在父窗體設置其值便可,如:
public partial class Logout : Form { //界說一個靜態變量寄存父窗體中的文本框的值 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(); } }
如許,父窗體中地下的成員你都可以在子窗體中拜訪,應用。