程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C# Winform 子窗體訪問父級窗體的控件和屬性

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

編輯:關於C語言

今天在做一個聯系人管理的C#設計時,遇到了這個問題,我需要將父窗體中的textBox中的值傳到子窗體並進行數據庫查詢操作,我用了new 父窗體().textBox.text;來進行值傳遞,然而並無卵用,經過多次試驗,找到了一個比較簡單的解決方法:

一、子窗體調用父窗體的靜態變量

父窗體:Logout

子窗體:Affirm

父窗體文本框:tB_Logout_Username

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 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

這個方法顯得比較取巧,按理說應該先找到獲取父窗體的方法,然後再對其進行操作。

二、將父窗體作為屬性傳遞給子窗體

在你的子窗體中定義public 的父窗體字段,如:

? 1 2 3 4 public class Affirm:Form { public Logout MyLogout; }

然後在父窗體設置其值即可,如:

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 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(); } }

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved