windows form (窗體) 之間傳值小結
在windows form之間傳值,我總結了有四個方法:全域性變數、屬性、窗體建構函式和delegate。
第一個全域性變數:
這個最簡單,只要把變數描述成static就可以了,在form2中直接引用form1的變數,程式碼如下:
在form1中定義一個static變數public static int i= 9 ;
Form2中的鈕釦按鈕如下:
private void button1_Click(object sender, System.EventArgs e)
{
textBox1.Text = Form1.i.ToString();
}
第二個方法是利用屬性,請詳見我的部落格:
http://blog.csdn.net/tjvictor/archive/2006/06/04/772711.aspx
第三個方法是用建構函式:
Form1 的button按鈕這樣寫:
private void button1_Click(object sender, System.EventArgs e)
{
Form2 temp = new Form2( 9 );
temp.Show();
}
Form2 的建構函式這樣寫:
public Form2( int i )
{
InitializeComponent();
textBox1.Text = i.ToString();
}
第四個方法是用delegate,程式碼如下:
Form2中先定義一個delegate
public delegate void returnvalue( int i );
public returnvalue ReturnValue;
form2 中的button按鈕程式碼如下:
private void button1_Click(object sender, System.EventArgs e)
{
if ( ReturnValue != null )
ReturnValue( 8 );
}
Form1中的button按鍵如下:
private void button1_Click(object sender, System.EventArgs e)
{
Form2 temp = new Form2( );
temp.ReturnValue = new temp.Form2.returnvalue( showvalue );
temp.Show();
}
private void showvalue( int i )
{
textBox1.Text = i.ToString();
}
點選form2的button,form1中的textbox中的值就會相應變化。
在這四個方法中,
第一個是雙向傳值,也就是說,form1和form2改變i的值,另一方也會受到影響。
第二個方法可以單向也可以雙向傳值。
第三個方法是form1->form2單向傳值。
第四個方法是form2->form1單向傳值。
以後有新的方法我再補充,還有一個就是用event,和delegate差不多,在這裡就不說了。
相關文章
- 窗體傳值 父子窗體傳值情況 c# 1231C#
- C#中實現窗體間傳值方法C#
- Vue元件之間傳值完整小結Vue元件
- Vue之元件間傳值Vue元件
- AbilitySlice之間的傳遞值
- AbilitySlice之間的回傳值
- vue 兄弟元件之間傳值之busVue元件
- windows窗體Windows
- Vue父子之間的值傳遞Vue
- Vue - 元件之間的傳值方式Vue元件
- 關於vue中props特性以及父子之間傳值的總結Vue
- 父子元件之間的傳值問題元件
- winform動態生成窗體並實現傳值返回ORM
- StringGrid單元格繫結ComboBox、DateTimePicker或視窗傳值
- vue父子元件之間傳值以及方法呼叫Vue元件
- 元件:非父子間傳值(同級傳值)元件
- 動態渲染之vue頁面向元件間傳值Vue元件
- Vue--子元件之間相互呼叫及傳值Vue元件
- vue---註冊元件、元件之間父子傳值Vue元件
- Vue 元件間傳值Vue元件
- 微信小程式 傳值取值的方法總結微信小程式
- Python之時間和日期使用小結Python
- 蘋果手機和Windows之間互傳檔案蘋果Windows
- 非父子元件間的傳值元件
- 模擬上傳multipart form data 指令碼生成時間軸ORM指令碼
- 微信小程式父子元件之間的資料傳遞微信小程式元件
- JavaScript之按值傳遞JavaScript
- Vue 元件間的傳值(通訊)Vue元件
- dotnet X11 視窗之間傳送滑鼠訊息 模擬滑鼠輸入
- java web中jsp和action之間通訊小結JavaWebJS
- Memory記憶體傳值記憶體
- java 獲取傳入值的區間Java
- uniapp彈窗24小時之後彈APP
- 奇異值分解(SVD)小結
- 微信小程式之間的跳轉及如何傳參互動微信小程式
- 微信開發之小程式頁面間如何傳遞引數
- vs2022中windows窗體winform沒有窗體設計器問題處理WindowsORM
- 微信小程式中的值傳遞微信小程式
- Windows應急響應小結Windows