c# - 带搜索框的多线程

标签 c# database wpf multithreading

我有一个包含人员列表的列表框(名字、姓氏、地址...)和一个搜索框(带有 TextChaned 事件的文本框 问题是我正在运行一个搜索抛出数据库,这需要很长时间,而且 UI 会卡住几秒钟......所以,我怎样才能让它响应?

最佳答案

假设您正在使用数据表,您可以执行以下操作:

private async void btnSearch_Click(object sender, EventArgs e) // async is important
{
    DataTable dt = await Task.Run(() => // await is important (avoids the UI freeze)
    {
        return GetData(); // Fetch your data from DB
    });
    // Fill your listbox with the data in dt
}

关于c# - 带搜索框的多线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55787348/

相关文章:

c# - 使用 MVC + 存储库模式,业务逻辑应该在哪里?

c# - 在 Unity 中将 Vector3 转换为 float

c# - 在固定网格上拖动对象的算法

database - 关于使用 Delphi XE2 进行数据库编程的问题

c# - long 类型的依赖属性错误

wpf - 如何居中DataGridTemplateColumn.HeaderTemplate

c# - 如何在刷新页面时使用asp.net定时器控件将div标签中的向下滚动条设置为垂直滚动条

database - 无法连接到数据库

mysql - 热门报告指标 MYSQL

c# - 为什么 TreeViewItem 中的项目继承父级的事件处理程序?