c#无法从课堂上打开表格

时间:2014-08-04 08:52:44

标签: c# forms

请帮我解决我的问题。我的应用程序中有一个班级。名为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");

    }

设计在这里很重要,我只想打开新表格。

1 个答案:

答案 0 :(得分:0)

从构造函数中移除this.Show();调用 - 您稍后会在Show中调用manager_events方法(并且它位于正确的位置)。