Winform使用者控制項傳值

2022-03-21 01:57:48 字數 1790 閱讀 6367

使用者控制項傳值其實有很多種方法,但我個人比較習慣用property方式

下面看乙個場景:

在乙個form中有乙個tab控制項,tab的兩個item中分別放兩個使用者控制項uc1,uc2,

現在的需求是需要把uc1中乙個控制項的值賦給uc2中的乙個控制項。

如果uc1中是label控制項,就可以直接在uc2中賦值了:

dim

uc1

asusercontrol1

=new

usercontrol1

me.textbox1.text

=uc1.label1.text

但是如果是textbox等控制項就有些不一樣了,需要用別的方式實現,我這裡用的是property:

先在uc2中定義這個屬性:

private

_testvalue

asstring

=string

.empty

public

property

testvalue

asstring

getreturn

_testvalue

endget

set(

byval

value

asstring

)_testvalue

=value

endset

end property

vb 10.0 or latter可以直接這樣寫:

property

testvalue

asstring

然後在form中:

private

subtabcontrol1_selectedindexchanged(

byval

sender

assystem.object,

byval

e as

system.eventargs)

handles

tabcontrol1.selectedindexchanged

me.usercontrol21.testvalue =me

.usercontrol11.textbox1.text

end sub

最後在uc2中:

private

subcheckbox1_checkedchanged(

byval

sender

assystem.object,

byval

e as

system.eventargs)

handles

checkbox1.checkedchanged

ifcheckbox1.checked

then

me.textbox1.text

=testvalue

else

me.textbox1.text

=string

.empty

endif

end sub

結果:這樣當選中uc2的中的核取方塊時就把uc1中文字框的值賦給uc2中文字框了

當然,這只是其中一種思路,還可以嘗試其他思路,比如委託等。

Winform中窗體中兩使用者控制項傳值

最近在做乙個小專案,中間遇到了乙個問題,由於多個窗體中要用到單位選擇,於是自己做了乙個下拉選擇樹的使用者元件,想通過使用者選擇完單位後,傳到另外乙個使用者控制項中去,在這個控制項中通過在下拉選擇樹中使用者選擇的節點編號,到資料庫中進行查詢,1 首先在下拉選擇樹控制項中新增乙個委託事件,public ...

winform 窗體傳值

在form1中 我們要把乙個文字傳遞給form2窗體,假定為passtext public string passtext form1中還有個按鈕button1在其點選事件中有 private void button1 click object sender,eventargs e 在form2的物...

PostBackUrl 使用者控制項頁面傳值總結

postbackurl 使用者控制項頁面傳值總結 今天在除錯郵件傳送的時候,發現了get傳遞資料的最大值問題,檢視 了有關資料說get方式最大的傳遞值為2k 包括url字元 因此只能修改 換別的方式。本來計畫使用post方式,但是post方 式無法獲取使用者控制項中的資訊,所以此方法作罷。以下介紹使...