【问题标题】:can not close form by form.close() in c#无法通过 c# 中的 form.close() 关闭表单
【发布时间】:2019-12-15 23:21:12
【问题描述】:

我想通过按钮打开一个表单并关闭当前表单。我找到了如何做到这一点,但我尝试了我的方式,但无法做到。 为什么这段代码不起作用

private void Button1_Click(object sender, EventArgs e)
    {

            Advise1 form = new Advise1();
            form.Show();
            this.Close();


    }

我知道如何解决我的问题,但我想知道为什么 close() 方法不 close() 第一种形式。当我尝试这种方式时,点击按钮后会打开两个表单。

【问题讨论】:

  • @Sachin 是的,我搜索过,但我不明白为什么这种方式不起作用:/
  • 定义“不起作用”
  • @Cid 我看到了这篇文章,但没有回答我的问题。
  • @Cid 不接受。

标签: c# winforms


【解决方案1】:

你没有说你的问题或错误是什么,但答案很可能在你的主程序的入口点——通常在 program.cs 中:

static class Program
{
    [STAThread]
    static void Main(string[] args)
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Form1 form1 = new Form1();
        Application.Run(form1);
    }
}

Application.Run(form1); 基本上是在说“Form1 的这个实例是我的应用程序,继续运行直到这个表单关闭。”

当您调用 this.Close(); 时,您正在关闭您的 Form1 实例,这基本上是关闭您的整个应用程序。

【讨论】:

  • 我试过这个并收到错误“'必须在应用程序中创建第一个 IWin32Window 对象之前调用 SetCompatibleTextRenderingDefault。'”
  • 我知道如何解决我的问题,但我想知道为什么 close() 方法不 close() 第一种形式。
  • close() 方法以这种方式不会关闭整个应用程序。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-10-13
  • 1970-01-01
  • 2018-04-22
  • 1970-01-01
  • 2014-06-29
  • 2014-04-07
  • 1970-01-01
相关资源
最近更新 更多