Monday, January 17, 2005

Event preemption?

So I've been having this wierd problem with event execution order where half way through handling one event another event handler is fired. If you know why please enlighten me!

Here's a copy of my newsgroup post which you can find
here.

I am seeing some unexpected behaviour in a single threaded winforms app
and was hoping someone could explain what is going on.
I have two events attached to a chart control on my form, and during
execution one event seems to preempt the execution of the other.

My code looks similar to the following:

private void MyChart_Click(object sender, System.EventArgs e)
{
...do some logic tests
GetSomeData();
}

// This event is attached to the context menu for the chart control.
private void DrillDownMenuItem_Click(object sender, System.EventArgs e)
{
...do stuff
}

private DataSet GetSomeData()
{
...setup tasks
...Call web service
...finish stuff
}

What happens is that when I right click and select drill down from the
chart controls context menu the MyChart_Click event fires and does the
logic tests. Execution then steps into the GetSomeData method, but when
the web service is called execution jumps to the
DrillDownMenuItem_Click event. This runs to completion then execution
returns to the GetSomeData method which finishes and finally returns to
the MyChart_Click event handler.

Can someone explain why this is so?


[EDIT] so I figured it out by myself. I turns out it is a bug in the dundas chart control >:-(

0 Comments:

Post a Comment

<< Home