C#表单:代码被困在Application.Run

时间:2014-04-08 19:59:22

标签: c#

在我的client.cs中,我想打开一个表单应用程序。所以我写道:

SS.Program.Main(); // open up the window
SS.Form1 f = new Form1(); // create instance
f.updateCell('A', 1, "hi"); // update a cell in the window that I opened up

但是,代码卡在SS.Program.Main();并没有进入下一行。如何使代码运行下一行?似乎SS.Program.Main()是一个无限循环。但我需要这样才能继续运行表单。

SS.Program.Main()

public static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        public static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            // Start an application context and run one form inside it
            DemoApplicationContext appContext = DemoApplicationContext.getAppContext();
            appContext.RunForm(new Form1());
            Application.Run(appContext);
        }
    }

1 个答案:

答案 0 :(得分:3)

关闭窗口;)

不,认真。

Application.Run告诉线程现在充当UI的消息泵,直到UI完全关闭。

因此,当UI关闭时,后面的代码才会被执行。

在您的特定情况下,所有代码应该在application.Run和您的主窗体之前应该替换预生成的Form1,现在完全没用。