日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

C#中父子窗口之间实现控件互操作

發布時間:2025/6/17 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#中父子窗口之间实现控件互操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

很多人都苦惱于如何在子窗體中操作主窗體上的控件,或者在主窗體中操作子窗體上的控件。相比較而言,后面稍微簡單一些,只要在主窗體中創建子窗體的時候,保留所創建子窗體對象即可。

   下面重點介紹前一種,目前常見的有兩種方法,基本上大同小異:

   第一種,在主窗體類中定義一個靜態成員,來保存當前主窗體對象,例如:

public static yourMainWindow pCurrentWin = null;

   然后在主窗體構造函數中,給靜態成員初始化,如下:

pCurrentWin = this;

   那么在子窗體中調用父窗體,可以通過“主窗體類名. pCurrentWin”來操作當前的主窗體。

   第二種,是在子窗體中定義一個私有成員,來保存當前主窗體對象,例如:

******* yourMainWindow pParentWin = null;

   然后在子窗體構造函數中,加一參數,如下:

public yourChildWindow( yourMainWindow WinMain )
{
  pParentWin = WinMain;
  //Other code
}

   在主窗體創建子窗體的時候,要把this作為參數來構造子窗體,這樣在子窗體中調用父窗體,可以直接用“this.pParentWin”就可以了

   不過以上所作的,只是讓你能夠訪問當前主窗體對象,那么如何操作控件,很多人直接修改控件的成員訪問符,即把“*******”改為“public”,我覺得這樣破壞了本身類的封裝,所以我比較喜歡的做法是增加公有屬性或方法來供調用,例如:

public string ButtonText
{
  get{ return btn.Text;}
  set{ btn.Text = value;}
}

public void Button_Click()
{
  this.btnDConvert.PerformClick();//Execute button click
}

轉載于:https://www.cnblogs.com/hackpig/archive/2010/02/15/1668434.html

總結

以上是生活随笔為你收集整理的C#中父子窗口之间实现控件互操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。