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()中,时灵时不灵的。
...全文
74 2 打赏 收藏 举报
写回复
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
6lilu9 2020-12-03
引用 1 楼 อาเหว่ย 的回复:
尽量用线程吧。这些东西适合新手。
这话是啥意思呢?backgroundWorker适合新手,还是Task之类的适合新手?
  • 打赏
  • 举报
回复
尽量用线程吧。这些东西适合新手。
  • 打赏
  • 举报
回复
发帖
C#

10.8w+

社区成员

.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
帖子事件
创建了帖子
2020-11-21 08:00
社区公告

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