c# - 在 C# 中完全关闭一个程序

标签 c#

<分区>

我用 C# 编写了一个程序,它显示 2 种类型的表单 1 是从用户那里获取值并将其保存在数据库中,其次是在 Crystal 报表模板中显示这些值。

我的问题是,当我将第一种形式移动到第二种形式时,我使用 hide(); 隐藏了第一种形式;函数,在从数据库中获取第二个表单的值后,我回到第一个表单并隐藏第二个表单并显示第一个但是当我关闭整个程序时它继续运行并且调试器显示它并正在运行并且在任务管理器中也有一个进程。

我想知道如何使用 form1 close 关闭后台进程。抱歉我的英语不好。

      rollno = txtrollno.Text;
                    ReportCard objreport = new ReportCard();
                    objreport.Show();
                    this.Hide();

这是隐藏第一种形式的代码。

 Form1 objshow = new Form1();
        objshow.Show();
        this.Hide();

在此我隐藏第 2 个并再次显示第 1 个。

最佳答案

尝试使用

Close();

当表单关闭时,对象内创建的所有资源都将关闭,表单也将被释放。您可以通过处理 Closing 事件并设置作为参数传递给事件处理程序的 CancelEventArgs 的 Cancel 属性来防止在运行时关闭窗体。如果您关闭的表单是您应用程序的启动表单,则您的应用程序结束。

Application.Exit();

此方法停止所有线程上所有正在运行的消息循环并关闭应用程序的所有窗口。此方法不会强制应用程序退出。 Exit 方法通常在消息循环中调用,并强制 Run 返回。要仅退出当前线程的消息循环,请调用 ExitThread。

Environment.Exit(exitCode)

终止此进程并为底层操作系统提供指定的退出代码。此调用要求您具有 SecurityPermissionFlag.UnmanagedCode 权限。如果不这样做,则会发生 SecurityException 错误。如果您正在运行控制台应用程序,这是要使用的调用。

关于c# - 在 C# 中完全关闭一个程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12821222/

相关文章:

c# - 将base64转换为图像并在gridview中显示

c# - 在 C# 中比较两个 XML 文件

c# - 无法复制文件“C:\…\packages\…WebApi.Core.4.0.20710.0…System.Web.Http.dll”

c# - XmlReader 跳过元素

c# - 偶数斐波那契数之和

c# - 从 .Net Winform 应用程序访问 GPS 数据

c# - JavaScript显示隐藏功能布局问题firefox chrome

C# Mysql - 在异步等待服务器的数据库查询上使用锁

c# - 设计易于访问的PDF组件

c# - 将复杂对象模型绑定(bind)到 View