欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C# Winform 子窗體訪問父級窗體的控件和屬性

 更新時間:2016年05月03日 10:36:12   作者:xch_yang  
本文主要介紹兩種子窗體訪問父窗體控件和屬性的方法,大家可以參考一下,本人比較偏向第二種,把父窗體作為屬性傳遞,一勞永逸,想訪問父窗體的什么控件屬性都可以。

今天在做一個聯(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();
 
  }
 
}

這樣,父窗體中公開的成員你都可以在子窗體中訪問,使用。

相關文章

最新評論