Click here to Skip to main content
15,887,585 members
Home / Discussions / C#
   

C#

 
GeneralRe: Control updating is slow Pin
Luc Pattyn19-Jul-07 3:45
sitebuilderLuc Pattyn19-Jul-07 3:45 
QuestionHow to unregister an event Pin
t4ure4n19-Jul-07 1:51
t4ure4n19-Jul-07 1:51 
AnswerRe: How to unregister an event Pin
kubben19-Jul-07 2:00
kubben19-Jul-07 2:00 
AnswerRe: How to unregister an event Pin
Luc Pattyn19-Jul-07 2:01
sitebuilderLuc Pattyn19-Jul-07 2:01 
GeneralRe: How to unregister an event Pin
Dan Neely19-Jul-07 2:19
Dan Neely19-Jul-07 2:19 
GeneralRe: How to unregister an event Pin
Luc Pattyn19-Jul-07 2:35
sitebuilderLuc Pattyn19-Jul-07 2:35 
GeneralRe: How to unregister an event Pin
Bijesh19-Jul-07 3:56
Bijesh19-Jul-07 3:56 
GeneralRe: How to unregister an event Pin
Luc Pattyn19-Jul-07 5:32
sitebuilderLuc Pattyn19-Jul-07 5:32 
Hi Dan,

I ran a little test:

private int clicks=0;
private int handlers=0;
Button btn=new Button();

public override void Run(int arg) {
    doClick();
    addHandler();
    doClick();
    addHandler();
    doClick();
    removeHandler();
    doClick();
    removeHandler();
    doClick();
    removeHandler();
    doClick();
}

void doClick() {
    log("CLICK");
    btn.PerformClick();
}

void addHandler() {
    handlers++;
    log("ADD HANDLER "+handlers);
    btn.Click+=new EventHandler(btn_Click);
}

void removeHandler() {
    log("REMOVE HANDLER "+handlers);
    handlers--;
    try {btn.Click-=new EventHandler(btn_Click);
    } catch { log("failed to remove handler"); }
}

void btn_Click(object sender, EventArgs e) {
    clicks++;
    log("  got click "+clicks);
}


and it resulted in the following log:

15.109     CLICK
15.125     ADD HANDLER 1
15.140     CLICK
15.156       got click 1
15.203     ADD HANDLER 2
15.218     CLICK
15.296       got click 2
15.312       got click 3
15.328     REMOVE HANDLER 2
15.343     CLICK
15.343       got click 4
15.437     REMOVE HANDLER 1
15.468     CLICK
15.484     REMOVE HANDLER 0
15.593     CLICK


So each -= effectively removes exactly one matching delegate if it finds one,
and does not throw otherwise.

Smile | :)



GeneralRe: How to unregister an event Pin
Luc Pattyn24-Jul-07 6:46
sitebuilderLuc Pattyn24-Jul-07 6:46 
GeneralRe: How to unregister an event Pin
Martin#19-Jul-07 2:33
Martin#19-Jul-07 2:33 
GeneralRe: How to unregister an event Pin
Luc Pattyn19-Jul-07 2:38
sitebuilderLuc Pattyn19-Jul-07 2:38 
GeneralRe: How to unregister an event Pin
Martin#19-Jul-07 2:48
Martin#19-Jul-07 2:48 
AnswerRe: How to unregister an event Pin
b_umika19-Jul-07 2:01
b_umika19-Jul-07 2:01 
QuestionGenerating a program ID Pin
Muntyness19-Jul-07 1:49
Muntyness19-Jul-07 1:49 
AnswerRe: Generating a program ID Pin
ekynox19-Jul-07 2:04
ekynox19-Jul-07 2:04 
AnswerRe: Generating a program ID Pin
Luc Pattyn19-Jul-07 2:04
sitebuilderLuc Pattyn19-Jul-07 2:04 
AnswerRe: Generating a program ID Pin
Chintan.Desai19-Jul-07 2:29
Chintan.Desai19-Jul-07 2:29 
AnswerRe: Generating a program ID Pin
Muntyness19-Jul-07 6:50
Muntyness19-Jul-07 6:50 
QuestionCreating directory trees with 1M nodes Pin
ss4219-Jul-07 1:44
ss4219-Jul-07 1:44 
AnswerRe: Creating directory trees with 1M nodes Pin
Luc Pattyn19-Jul-07 2:20
sitebuilderLuc Pattyn19-Jul-07 2:20 
AnswerRe: Creating directory trees with 1M nodes Pin
ss4219-Jul-07 2:22
ss4219-Jul-07 2:22 
AnswerRe: Creating directory trees with 1M nodes Pin
Mike Dimmick19-Jul-07 2:49
Mike Dimmick19-Jul-07 2:49 
QuestionWhat event fired when multiple rows in data grid selected? Pin
Janu_M19-Jul-07 1:41
Janu_M19-Jul-07 1:41 
QuestionHow to know that connection is idle Pin
Mahmoud Zidan19-Jul-07 1:22
Mahmoud Zidan19-Jul-07 1:22 
AnswerRe: How to know that connection is idle Pin
Sathesh Sakthivel19-Jul-07 1:26
Sathesh Sakthivel19-Jul-07 1:26 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.