C# 后台过程放在BackgroundWorker、Load()中。

6lilu9 2020-11-21 08:00:16
我一直有一个疑问,后台过程放在哪里最好,
比如下面是设置DataGridView1每列的信息,那放在哪个过程中好呢?backgroundWorker1_DoWork()、backgroundWorker1_RunWorkerCompleted和Form_Load()中,放哪一个好呢?
                foreach (DataGridViewColumn dgvCurrentCol in  DataGridView1.Columns)
{
dgvCurrentCol.Width = (int)(this.Width / (DataGridView1.Columns.Count + 1));
dgvCurrentCol.ReadOnly = true;
dgvCurrentCol.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;//列标题垂直居中靠右显示
dgvCurrentCol.SortMode = DataGridViewColumnSortMode.NotSortable;//取消排序

dgvCurrentCol.DataPropertyName = dgvCurrentCol.Name;//数据源绑定
}


我试验了一下,放在backgroundWorker1_DoWork()中,偶尔会失效。
话说我还真没见过同一段代码,运行后结果不一样的;但这个就是,放在backgroundWorker1_DoWork()中,时灵时不灵的。
...全文
97 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
6lilu9 2020-12-03
  • 打赏
  • 举报
回复
引用 1 楼 อาเหว่ย 的回复:
尽量用线程吧。这些东西适合新手。
这话是啥意思呢?backgroundWorker适合新手,还是Task之类的适合新手?
  • 打赏
  • 举报
回复
尽量用线程吧。这些东西适合新手。

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧