gpt4 book ai didi

c# - 多线程格式化datagridview行?

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

我已经阅读了许多关于使用 BackgroundWorker 对象来处理执行时间密集型任务的示例,这些任务会生成用于填充 DataGridView 的结果。但是,就我而言,填充 DataGridView 的行为似乎花费的时间最多。我想知道这是否是因为我需要格式化结果(隐藏某些列,检查每行上的某些标志以设置颜色/字体等)。

例子:

DataTable results_table;
DataGridView my_grid;
DataView my_view;

private void fillTable()
{
// Generate the results
...


// Bind the data.
my_view.Table = results_table;
my_grid.DataSource = my_view


// Format the results
my_grid.Columns[0].Visible = false;
my_grid.Columns[1].Visible = false;

my_grid.Columns[2].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
my_grid.Columns[3].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;

foreach (DataGridViewRow row in my_grid.Rows)
{
// Check for flags and format necessary rows.
}
}

这是执行此操作的正确方法吗,还是有其他方法可以格式化结果而不必遍历每一行?

最佳答案

您实际上不能在另一个线程中进行格式化,因为处理 UI 元素的所有操作都必须在 UI 线程中进行。您能做的最好的事情就是预先进行处理和决策,以便实际与 GUI 交互的代码尽可能简单和精简。

关于c# - 多线程格式化datagridview行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1435692/

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