關於使用者自定義控制項事件在主窗體中的實現

2022-05-10 15:49:17 字數 2455 閱讀 9113

今天需要做個選單   因為要拿給別人用  所以就做了個自定義控制項 

用的時候只要拖拉上去 或者是動態載入上去就可以了

我這裡是需要動態載入上去的 所以有點小鬱悶的是需要根據點選不同的控制項 傳回不同的值

根據此值觸發不同的事件

起初是準備給使用者控制項乙個屬性,讓主窗體根據此值執行不同的事件  並且是點選該使用者控制項

因為我是在主窗體初始化的時候載入的控制項  就算取到該值 也不能實現

上網找了下資料 先將解決方法寫下,以備後用:

首先在使用者控制項中宣告乙個自定義事件

public

event

eventhandler menu_listview1_selectedindexchanged;

其次 在自定義控制項的點選事件中觸發改事件

private

void

listview1_selectedindexchanged(

object

sender, eventargs e)

最後 要在主窗體中掛接該事件並實現該事件   在初始化的時候

this

.menu.menu_listview1_selectedindexchanged

+=new

eventhandler(menu_listview1_selectedindexchanged);

這樣的話 只要點選自定義控制項中的不同控制項 就可以觸發不同的事件了

具體的實現**如下:

//使用者自定義控制項

using

system;

using

system.collections.generic;

using

system.componentmodel;

using

system.drawing;

using

system.data;

using

system.text;

using

system.windows.forms;

namespace

menutest.uccontrol

void

createfirst()

void

createsecond()

void

createthree()

//////單擊不同按鈕 顯示不同選單

///原理:1 取到點選按鈕 2 迴圈panel中的所有控制項,如果是按鈕

///再判斷是否是點選的按鈕,則設定其顯示的位置

///3 別忘了所有控制項顯示在最前面 bringtofront()函式

//////

///void

buttonclick(

object

sender, system.eventargs e) }

else

//迴圈到點選按鈕 }

} }

switch

(clickedbutton.text)

mylistview.bringtofront();

} //

自定義自己的事件

public

event

eventhandler menu_listview1_selectedindexchanged;

//在此觸發自己的自定義事件 以備在主窗體中掛接該事件

private

void

listview1_selectedindexchanged(

object

sender, eventargs e) //

例項化使用者控制項

uccontrol.menu menu

=new

uccontrol.menu();

string

item;

private

void

form1_load(

object

sender, eventargs e) //

#region

//測試使用者定義控制項

void

do() //

void

do1() //

根據不同的點選執行不同的事件

void

dosomething() }

//////

實現使用者控制項自定義事件 即自己定義的事件

//////

///private

void

menu_listview1_selectedindexchanged(

object

sender, eventargs e) }

#endregion

可能還需要設定一些屬性值,相信資訊可檢視:http://

blog.csdn.net/qyj2009/archive/2011/04/21/6339191.aspx

flex 自定義控制項 事件

自定義控制項 自定義事件 引子 前面主要用action script3 來定義事件 在此用mxml 來自定義控制項 自定義事件 一 源 見1是通過新建new mxml conpoment 同時,在填入資訊時選擇繼承自panel 1 loginform.mxml event name logineve...

自定義控制項事件傳遞過程

自定義控制項事件傳遞過程 本人使用自定義控制項發現如果自定義控制項被另乙個控制項全部覆蓋,當雙擊或 單擊窗體時,事件引起控制項事件不是主體事件,多次測試才找到這個技巧。首先加乙個自定義控制項,然後在自定義控制項窗體上新增乙個panel控制項,並讓控制項fill全部面板,當控制項例項化時,我們在操作拖...

自定義使用者控制項

和做乙個web 窗體一樣,只是,如果引用其中的控制項的方法是如何?以下示例是asp.net 1.1裡的,2.0是怎麼引用,還沒有看書呢 string getddlyear,getddllc,getddladd,getddlpeopso getddlyear class ddlyear this.fi...