gpt4 book ai didi

c# - Winform 应用程序未关闭

转载 作者:行者123 更新时间:2023-11-30 22:45:23 25 4
gpt4 key购买 nike

我有一个客户用来手动更新一些数据的小应用程序。这是非常基本的;在加载时,它会填充一个公司列表,用户可以从中选择并单击一个按钮来更新另一个系统中的数据。客户希望能够从命令行运行同样的功能,所以我添加了一个后台 worker 。当应用程序启动时,我会检查一个特定的 arg,如果找到我会启动 worker。工作人员完成后,我调用 Close();

这一切似乎工作正常(数据按预期更新并且应用程序似乎关闭),但当我检查任务管理器时应用程序仍在运行。

我的问题:

  1. 我应该寻找什么来找出应用仍在运行的原因?
  2. 有更好的方法吗?

这是代码示例:

public MainForm()
{
InitializeComponent();

var args = Environment.GetCommandLineArgs();
Array.ForEach(args, x => x.ToLower());

if (args.Contains("u"))
backgroundWorker.RunWorkerAsync();

}
private void BackgroundWorkerDoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
{
//call to web service to update data
}

private void BackgroundWorkerRunWorkerCompleted(object sender, System.ComponentModel.RunWorkerCompletedEventArgs e)
{
Close();
}

最佳答案

2) Is there a better way to do this?

您可以从控制台应用程序运行代码并确保没有 WinForms/线程问题。

作为其变体,您可以直接在 Main() 中检查命令行,甚至不执行 Application.Run(mainForm)。

关于c# - Winform 应用程序未关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3084401/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com