我遇到了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]感谢您的帮助!
答案 0 :(得分:1)
答案 1 :(得分:1)
也许是Update();
。
(未检查此案例,但我看到Update();
工作,而Invalidate();
没有。)