c#不能从类中打开form

本文关键字:form 不能 | 更新日期: 2023-09-27 18:16:10

请帮我解决这个问题。我的应用程序里有一个类叫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");
    }

设计不重要,我只是想打开一个新的窗体。

c#不能从类中打开form

从构造函数中删除this.Show();调用-稍后在manager_events中调用Show方法(并且在那里它是正确的位置)。