C如何手動觸發控制元件的事件,C 如何手動觸發控制元件的事件?

時間 2022-03-15 18:30:04

1樓:陽光的雷咩咩

先把父類裡兩個控制元件的修飾符改成public或protected(貌似預設不是)。

在子類裡:

this.a.selectindexchanged += this.f;

子類裡還需要定義相應的方法

this.f(ojbect sender, 引數型別 e)

c#視窗程式的控制元件如何觸發容器的click事件?

2樓:匿名使用者

嘗試了一下,form.mouseclick事件是無法和其它控制元件的control.click事件繫結的。這個方法基本不可行。

有以下兩種辦法:

1.將form的單擊事件執行的**封裝成方法,比如formclick(),任何需要單擊控制元件的地方,直接呼叫此方法,也就相當於執行form.mouseclick事件了。

2.重寫窗體控制元件中的事件定義,直接system.eventhandler事件繫結,比如在按鈕的事件繫結上寫:

this.btn.click += new system.

eventhandler(this.frmmain_click);(按鈕本身的事件不取消)。這種重寫後的,只需要繫結窗體事件到按鈕這些控制元件上,而不需要呼叫或單獨觸發。

foreach(control ct in this.controls)

ct.click += new eventhandler(form1_click);

3樓:

有個建議:另外弄一個全通明,無邊框的窗體form2,讓這個form2一直出現在原窗體的上方並跟隨移動,由於全透明,使用者感覺不到form2的存在。但是所有的滑鼠事件其實都發生在form2上,你可以在form2的mouse down裡面處理

4樓:匿名使用者

foreach(control ct in this.controls)

ct.click += new eventhandler(form1_click);

5樓:匿名使用者

為什麼你非要這麼做?你考慮過你這麼寫程式的合理性麼?

c#winform中怎麼用**觸發一個控制元件的點選事件?

6樓:匿名使用者

在buttona_click裡面加入:

buttonb_click(buttonb,new eventargs());

c#動態新增的控制元件準備完畢觸發什麼事件?

7樓:匿名使用者

private void button1_click(object sender, eventargs e)

// addcon方法修改如下

private void addcon(control con)//其餘**略……

}void form1_controladded(object sender, controleventargs e)

c#自定義控制元件內的子控制元件和父控制元件間事件怎麼傳遞?

8樓:匿名使用者

假設你的控制元件名稱為usercontrol1, 控制元件生各個label的名稱依次為label1, label2, ……

在控制元件usercontrol1後臺**中,對每個標籤的click事件程式設計

public partial class usercontrol1 : usercontrol

private void label1_click(object sender, eventargs e)

private void label2_click(object sender, eventargs e)

//有多少個標籤,就重複多少次!

//……

}這樣,usercontrol1佈置在窗體上後,滑鼠點選任何一個標籤,都會引發usercontrol1的click事件

9樓:輕哲學

**你用的是tablelayoutpanel麼?把**的enabled屬性設定為false,它就不再響應滑鼠事件了。如果是其他容器控制元件,也一個道理。

10樓:匿名使用者

在窗體的load事件里加入如下,

button1.click += new system.eventhandler(this.form1_click);

......

這樣就將其下的button1.click繫結到了form1_click裡了,自定義控制元件同理,就這樣簡單。

11樓:小小阿立哥

public partial class usercontrol1 : usercontrol

private void labels_click(object sender, eventargs e)

//在設計介面裡全選label控制元件同時選上,在屬性區裡選擇事件click事件選擇

//labels_click就可以所有的label控制元件都能返回預設的點選事件了

//不需要有多少都寫多少個事件啊!}

c# winform 怎樣給控制元件新增滾動條事件?

12樓:陽光的雷咩咩

測試了一下,可以使用自定義事件。

public partial class form1 : form;};

}protected override void wndproc(ref message m)

base.wndproc(ref m);

}private void button1_click(object sender, eventargs e)}

c# 如何在**中呼叫另一個控制元件的事件

13樓:落月

比如已經有了一個private void button1_click(object sender, eventargs e)

然後在例項化另一個按鈕的時候,

button button2 = new button();

button2.click+=new eventhandler(button1_click);

直接指向button1_click即可。

14樓:匿名使用者

其實你可以到設計**中找到一個btn的**段,記得是已經寫過單擊事件的btn。

複製到**中,你看看 就會明白的!

其中有委託事件!

15樓:匿名使用者

有兩個方法:

1. button1 呼叫 button2的方法,如: button2.performclick();

2. this.button2_click(null);

c自制控制元件如何新增的新的屬性,C 如何給現有類新增新屬性

在自定義控制元件的類中新增兩個成員 一個私有一個公開,把公開的set get 與私有成員關連,在set和get過程中還可以處理額外內容,如改變其它值執行其它 等。如下 所示,其中categoryattribute為屬性發組資訊,descriptionattribute為說明,defaultvalue...

C中怎麼觸發某按鍵的CLick事件

初學c 的。給你看段 剛開始接觸時寫的。語句比較弱,不過功能和你這個挺像。private void form1 keypress object sender,keypresseventargs e if e.keychar char keys.d2 if e.keychar char keys.d3...

C中如何使用SerialPort控制元件向微控制器傳送資料

其實很簡單,設定幾個引數即可,下面是我寫的從串列埠讀取ds18b20發回溫度的例子。namespace 串列埠通訊 private void form1 load object sender,eventargs e private void timer1 tick object sender,eve...