我是在 Stack 上发帖的新手。我已经搜索了很长一段时间来解决与我类似的问题。我正在尝试根据对象的布尔值动态地将 WinForms DataGridView 中的复选框从非只读更改为只读。
它在调试模式下显示更改已经发生,但是一旦完全运行,应该只读的复选框单元格仍然允许检查和取消选中功能。我已将注释掉的部分留在其中,以表明我已尝试这样做。
m_SingletonForm.dataGridView1.DataSource = list;
m_SingletonForm.dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;
m_SingletonForm.dataGridView1.Columns["StoreGroup"].ReadOnly = true;
m_SingletonForm.dataGridView1.Columns["Message"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
m_SingletonForm.dataGridView1[0, 0].ReadOnly = true;
foreach (DataGridViewRow row in m_SingletonForm.dataGridView1.Rows)
{
//var isChecked = Convert.ToBoolean(row.Cells["SendFile"].Value);
//if (!isChecked)
//{
//m_SingletonForm.dataGridView1.Rows[0].Cells["SendFile"].Style.BackColor = Color.Red;
//m_SingletonForm.dataGridView1.Rows[0].Cells["SendFile"].ReadOnly = true;
//m_SingletonForm.dataGridView1.Rows[row.Index].Cells["SendFile"].Style.BackColor = Color.Red;
//m_SingletonForm.dataGridView1.Rows[row.Index].Cells["SendFile"].ReadOnly = true;
//m_SingletonForm.dataGridView1["SendFile", row.Index].ReadOnly = true;
//m_SingletonForm.dataGridView1["SendFile", row.Index].Style.BackColor = Color.Red;
// }
}
m_SingletonForm.label1.Text = message;
m_SingletonForm.Text = title;
MessageBox.Show(m_SingletonForm.dataGridView1[0, 0].ReadOnly.ToString());
m_SingletonForm.ShowDialog();
任何帮助将不胜感激。