gpt4 book ai didi

c# - 线程启动滞后于 UI WPF

转载 作者:太空宇宙 更新时间:2023-11-03 20:11:03 25 4
gpt4 key购买 nike

好吧,我已经为此苦苦挣扎了一段时间,但一直找不到解决方案。我正在开发您在超市看到的收银员应用程序之一,其中一切都运行得非常快。收银员非常了解该程序,他们只需以光速输入即可,因此 UI 必须具有令人难以置信的响应能力。

无论如何,因为我只用 WPF 编码,所以我正在使用它,如果有人说 WinForms 更快,我一定会学习它。这是我的代码,非常简单,因为我正在测试性能

public partial class MainWindow : Window
{
Thread t;
public MainWindow()
{
InitializeComponent();
}

private void Button_Click(object sender, RoutedEventArgs e)
{

t = new Thread(HandleThread);
t.Start();
}

private void HandleThread()
{
Thread.Sleep(3000);
}
}

每当单击该按钮时,都会启动一个新线程,因为我计划在新线程中连接到服务器。我的问题是 button_Click 方法非常慢。返回大约需要 1 秒,因此按钮看起来像是卡住了,应用程序看起来很慢。我尝试了线程、BackgroundWorker、将框架更改为 4.0 并尝试了 Tasks。没有什么。无论我做什么来开始某种后台工作,该方法都需要永远。

我需要在远程服务器上检查用户名和密码,我该如何在不影响 UI 的情况下完成它?

最佳答案

您应该关闭 IntelliTrace (How-To)。

  1. 在“工具”菜单上,单击“选项”。
  2. 在“选项”对话框中,展开 IntelliTrace 节点,然后单击“常规”。
  3. 清除启用 IntelliTrace 复选框。
  4. 单击“确定”。

关于c# - 线程启动滞后于 UI WPF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20034865/

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