台灣最大程式設計社群網站
線上人數
1259
 
會員總數:241740
討論主題:187051
歡迎您免費加入會員
討論區列表 >> VB.NET >> Uc combobox 如何回傳 Selectedindexchanged
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
Uc combobox 如何回傳 Selectedindexchanged
價值 : 100 QP  點閱數:227 回應數:11

樓主

P陳
高級專家
6166 146
5147 1244
發送站內信

請問各位:
建了一個 UC_combobox 內只放了一個 ComboBox
Form1 去呼叫時 可以啟動
當 SelectedIndexChanged 後,目前是用 RaiseEvent 委派回 FORM1 來處理

請問一下有沒有辦法 直接在 FORM1 就收到 SelectedIndexChanged,而不必再繞一個圈子嗎?



搜尋相關Tags的文章: [ User Combobox 資料傳遞 ] ,
本篇文章發表於2017-12-23 10:24
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
不錯的參考

小魚
檢舉此回應
你意思是說,
直接在Form1建立一個ComboBox嗎?
本篇文章回覆於2017-12-24 16:01
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

P陳
檢舉此回應
小魚您好:
非也
是建一個Usercontrol UC_combobox
而UC_combobox 內只放一個 ComboBox 名為 ComboBox1

Form1 將 Uc_combo 放入,變成 UC_combo1
當 UC_combo1 內的 ComboBox1 有 SelectedIndexChanged 事件時
Form1 的 UC_combo1 要如何接收到該事件

目前是用 Raise Event 來委派回 Form1
還有找到 invokeonclick 但沒有 invokeOnSelectedIndexChanged

本篇文章回覆於2017-12-24 21:44
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
最有價值解答

史努比
檢舉此回應
在UserControl中加一個唯讀屬性, 型別為combobox, 然後傳回usercontrol上的Combobox, 這樣試試看

本篇文章回覆於2017-12-25 01:18
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

P陳
檢舉此回應
史奴比您好:

這也是我常用的方法之一,也曾想過用這個方法。
但這樣主客易位了。

UC_combobox1 中的 SelectedIndexChanged 變動時無法主動通知 Form1,而是被動的等 Form1 來取值。

等等--瞭解您的意思了

我來試試




本篇文章回覆於2017-12-25 12:53
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

P陳
檢舉此回應
史奴比您好:
您的方法

我是想不出來,讓 UC_combobox1 變成主動通知 form1 的方法。
form1 如何主動接 selectedindexchanged 的事件
本篇文章回覆於2017-12-25 13:10
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
不錯的參考

Ader Chen
檢舉此回應
延伸自 史努比 前輩的另一種方式:

UC_combobox:


Form1:


不過我覺得跟您原來的方法相比,
上面 demo 反而是繞圈子的做法,
RaiseEvent 才是正統做法.
個人感覺, 僅供參考.


本篇文章回覆於2017-12-25 20:10
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
不錯的參考

pilipala
檢舉此回應
UserControl 內只有一個 ComboBox,有甚麼理由一定要弄成 UserControl 阿,
直接繼承 ComboBox 來擴充所需要的功能,這樣會不會比較單純阿
本篇文章回覆於2017-12-26 13:07
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
作者回應

P陳
檢舉此回應
Ader Chen:
With Events 應該可以 (沒有想到還有這個東西)

pilipala:
直接繼承 ComboBox 來擴充所需要的功能
請問您是指元件嗎? <--有想過但沒有努力過,所以沒有成功。

-------------------------------
會這樣作,是因為 FORM1內需要多個 COMBOBOX (執行時才會產生且個數不一定)。才到用 USER Control 來作。
本篇文章回覆於2017-12-26 13:32
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
回應

pilipala
檢舉此回應
7F 的回應意思,可以參考該篇文章 如何:繼承自現有的 Windows Form 控制項
本篇文章回覆於2017-12-26 21:07
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
作者回應

P陳
檢舉此回應
謝謝各位的協助
以上的方法我會混著用
本篇文章回覆於2017-12-28 08:54
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
回應

史努比
檢舉此回應
按理說樓主確實是不應該使用usercontrol的, 應該直接寫一個類別去繼承combobox
本篇文章回覆於2017-12-29 10:58
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.