请帮我解决我的问题。我的应用程序中有一个班级。名为Aster.cs 这是它的来源:
public class Aster
{
public static void manager_Events(object sender, ManagerEvent e)
{
Global.info = (NewStateEvent)e;
if (Global.info.ChannelState == "6")
{
Global.WMP.controls.stop();
}
if (Global.info.ChannelState == "4" || Global.info.ChannelState == "5")
{
if (Global.zvonok_window == 0)
{
Global.WMP = new WindowsMediaPlayer();
//Global.WMP.settings.volume = 100;
//Global.WMP.URL = @"Resources\Ring.mp3";
//Global.WMP.controls.play();
Global.zvonok_window = 1;
Form_calls f = new Form_calls();
f.TopLevel = true;
f.TopMost = true;
f.Location = new Point(0, 0);
f.Size = new Size(233, 290);
f.Show();
}
}
}
}
我在应用程序的另一部分(启动时)获得了manager_Events():
Global.manager.NewState += new NewStateEventHandler(Aster.manager_Events);
问题是:当我试图打开一个新表单时,它正在初始化,但冻结,我什么也做不了,甚至关闭它。我知道,问题出在我从课堂上调用表格的某个地方,但我无法理解我做错了什么。当我调用ShowDialog()方法时,一切正常。 Form_calls源代码的某些部分:
public Form_calls()
{
InitializeComponent();
this.Show();
MessageBox.Show("wds");
}
设计在这里很重要,我只想打开新表格。
答案 0 :(得分:0)
从构造函数中移除this.Show();
调用 - 您稍后会在Show
中调用manager_events
方法(并且它位于正确的位置)。