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

2022-06-01 10:50:19 字數 3381 閱讀 9032

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語言如何新增控制元件?

c,只是一種計算機語言,就像你會說普通話,或會說英語 語言本身沒有意義,你如何用它才是關鍵,你講的故事是否動聽,不是因為中文動聽,或是英文動聽,而你的表達在起作用,是你語言功底問題。你所看的書中,講到運算方法,可以理解為,我們語言中的語法,它是告訴你,如何把一個問題講解清楚,並運用得當。如果,你想用...

C如何在richtextbox控制元件中實現每行不超過

將 scrollbars 屬性設定為 richtextboxscrollbars 列舉的適當值。值 說明 both 預設值 只有當文字超過控制元件的寬度或長度時,才顯示水平滾動條或垂直滾動條,或兩個滾動條都顯示。none 從不顯示任何型別的滾動條。horizontal 只有當文字超過控制元件的寬度時...

C如何在richtextbox控制元件中指定位置新增超連結

linklabel ll new linklabel ll.text ll.linkclicked new linklabellinkclickedeventhandler linklabel1 linkclicked this.richtextbox1.controls.add ll privat...