【发布时间】:2009-02-25 15:54:28
【问题描述】:
我正在尝试从 C# 程序的主窗体中的事件处理程序中打开一个新窗体。事件处理程序被正确调用并打开新表单,但新表单被冻结,甚至最初都没有填充。
我可以在主窗体上创建一个按钮并在单击该按钮后创建新窗体,但是从事件处理程序完成后它无法正常工作。
事件处理程序不需要知道在它创建的表单上所做的任何事情的结果 - 它只需要创建它并避开。
我需要做什么?新表单需要独立于主表单运行。
这里是我定义事件处理程序的地方:
ibclient.RealTimeBar += new EventHandler<RealTimeBarEventArgs>(ibclient_RealTimeBar);
这是事件处理程序代码:
void ibclient_RealTimeBar(object sender, RealTimeBarEventArgs e)
{
FancyForm a_fancy_form = new FancyForm();
a_fancy_form.Show();
}
通过单击按钮创建新表单效果很好:
private void button7_Click(object sender, EventArgs e)
{
FancyForm a_fancy_form = new FancyForm();
a_fancy_form.Show();
}
【问题讨论】:
-
请在您正在创建和显示新表单的位置添加您的代码。