C 呼叫乙個按鈕的Click事件(利用反射)

2022-05-19 06:42:33 字數 1811 閱讀 6475

(1)button1.performclick();

(2)button1_click(null,null);

(3)button_click(null,new eventargs());

最開始的呼叫方法

//

建立乙個函式

private

void

callonclick(button btn)

//呼叫例子。

//呼叫button1的onclick

callonclick(button1);

//呼叫button5的onclick

callonclick(button5);

擴充套件一下,可以呼叫更多的事件。

private

void callbuttonevent(button btn, string

eventname)

//呼叫例子。

//呼叫button1的onclick

callbuttonevent(button1,"

onclick

");

//呼叫button5的onkeypress

callbuttonevent(button5,"

onkeypress

");

現在,再來一次擴充套件。可以處理button,textbox等等的一些事件。

private

void callobjectevent(object obj, string

eventname)

//呼叫例子。

//呼叫button1的onclick

callobjectevent(button1,"

onclick

");

//呼叫button5的onkeypress

callobjectevent(button5,"

onkeypress

");

//呼叫text1的ontextchanged

callobjectevent(text1, "

ontextchanged

");

view code

繼續來多乙個擴充套件。可以傳入事件引數。

private

void callobjectevent(object obj, string eventname, eventargs e=null

)

//呼叫例子。

//呼叫button1的onclick

callobjectevent(button1,"

onclick

");

//呼叫button5的onkeypress

callobjectevent(button5,"

onkeypress

");

//呼叫text1的ontextchanged

callobjectevent(text1, "

ontextchanged

");

//呼叫form的keypress事件, this就是那個winform, 並且傳入回車鍵

callobjectevent(this, "

onkeypress

", new keypresseventargs((char)13));

view code

測試的時候,是在winform裡的控制項的呼叫。在程式裡要加入

using system.reflection;
引用自 :

C 呼叫乙個按鈕的Click事件

1 button1.performclick 2 button1 click null,null 3 button click null,new eventargs 最開始的呼叫方法 建立乙個函式 private void callonclick button btn 呼叫例子。呼叫button1的...

呼叫乙個按鈕的Click事件(利用反射)

做了幾次。每次都忘記。所以記錄下來。測試環境如下 csharp view plain copy 建立乙個函式 private void callonclick button btn 呼叫例子。呼叫button1的onclick callonclick button1 呼叫button5的onclic...

在MVVM模式中,按鈕Click事件的繫結方法

在mvvm模式中,我們將button的方法寫到viewmodel中,然後繫結到前端介面。通常的做法是寫乙個類,繼承icommand介面,然而如果按鈕比較多的話,就需要寫很多的類,對於後期維護造成很大的不變,微軟提供了乙個delegatecommand類,可以簡化開發。使用方法如下 首先生命viewm...