更改选项卡选择时,除非将窗口屏幕最小化、最大化或恢复,否则不会重新绘制子面板
本文关键字:新绘制 绘制 恢复 最大化 选择 选项 最小化 屏幕 窗口 | 更新日期: 2023-09-27 18:19:20
我有一个Windows窗体项目的问题。我更改了选项卡,但除非我最大化、最小化或恢复整个窗口,否则更改不会反映出来。之后,新选择的选项卡将显示它的子内容。
我已经把问题缩小到我试图编程创建和命名一个datagridview
我可以这样做:
logs_datagrid.Name = "datagrid_logs";
logs_datagrid.AutoSize = true;
logs_datagrid.Dock = DockStyle.Fill;
logs_datagrid.Font = new Font("Microsoft Sans Serif", 8.25F);
logs_datagrid.DataSource = dt_logs_google;
logs_datagrid.AllowUserToAddRows = false;
logs_datagrid.BackColor = System.Drawing.Color.White;
logs_datagrid.BringToFront();
splitContainer2.Panel2.Controls.Add(logs_datagrid);
但只要我尝试以编程方式将编辑应用到datagridview列,问题就会发生。只取消上面一行的注释就会导致错误。
DataGridViewColumn dvg_col_1 = logs_datagrid.Columns[0];
// DataGridViewColumn dgv_col_2 = logs_datagrid.Columns[1];
// DataGridViewColumn dgv_col_3 = logs_datagrid.Columns[3];
//dgv_col_1.ReadOnly = true;
// dgv_col_1.MinimumWidth = 200;
//dgv_col_2.ReadOnly = true;
//dgv_col_2.MinimumWidth = 200;
//dgv_col_3.ReadOnly = true;
//dgv_col_3.MinimumWidth = 200;
// dgv_col_3.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
[edit]谢谢你的帮助!
可能是Update();
。
(没有检查这种情况,但我见过Update();
工作,当Invalidate();
没有)
试试this.Invalidate()
http://windowsclient.net/articles/windowsformspainting.aspx