datagridview的滚动条被backgroundWorker涂黑

时间:2018-11-22 06:38:38

标签: c# winforms datagridview backgroundworker gdi

我有一个c#WinForms应用程序,它具有一些搜索参数(TextBoxComboBox)和一个搜索Button,在此GroupBox下是两个{ {1}}控件并排放置。然后,我将DataGridView放置在PictureBox控件的顶部,并将其DataGridView属性设置为Visible。然后,我还有一个False。在BackgroundWorker事件中,我将button1_Click PictureBox's属性设置为Visible,并调用True。在backgroundWorker1.RunWorkerAsync();上,我正在获取记录并填充backgroundWorker1_DoWork(object sender, DoWorkEventArgs e),控件。在DataGridView上,我打电话给backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e), 但是,自从我添加了此 loader 功能以来,表单与以前的行为不同,仍然没有响应几秒钟。 pictureBox3.Hide();控件中的ScrollBars涂黑。就像,实际上是涂黑的。尽管如此,DataGridView控件仍然可以滚动。表单本身已将DataGridView设置为DoubleBuffered。另外,我已经通过True制作了DataGridView控件DoubleBuffered

Reflection

请帮助我解决有问题的(粗体)部分。谢谢。

  

编辑-public static void DoubleBuffered(this DataGridView dgv, bool setting) { Type dgvType = dgv.GetType(); PropertyInfo pi = dgvType.GetProperty("DoubleBuffered", BindingFlags.Instance | BindingFlags.NonPublic); pi.SetValue(dgv, setting, null); } 代码

DoWork

0 个答案:

没有答案