【发布时间】:2022-01-22 14:20:18
【问题描述】:
我有一个带有按钮列的 datagridview 的 GUI。
单击按钮单元格后,我将按钮 enabled 属性设置为 false。
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
DataGridView senderGrid = (DataGridView)sender;
if (senderGrid.Columns[e.ColumnIndex] is DataGridViewButtonColumn && e.RowIndex >= 0)
{
//....
DataGridViewDisableButtonCell btnClick = (DataGridViewDisableButtonCell)dataGridView4.Rows[e.RowIndex].Cells[e.ColumnIndex];
btnClick.Enabled = false;
//execude code
btnClick.Enabled = true;
}
}
我的问题是如何使另一个单元格不可点击以防止在单击一个按钮单元格时运行代码?
【问题讨论】:
-
类似:
foreach (var cell in senderGrid.Rows.OfType<DataGridViewRow>().SelectMany(x => x.Cells.OfType<DataGridViewDisableButtonCell>())) cell.Enabled = false;。假设您有一个该自定义类型的列。否则在SelectMany范围内附加where子句以指定哪个OwningColumn。 -
@dr.null 非常感谢这个例子。问题已解决。
-
@dr.null - 请张贴作为 OP 可以接受的答案。
-
@Enigmativity 当然。抱歉,我发表了评论,因为我没有检查代码。只是为了暗示这个想法。
-
@dr.null - 如果他们接受了答案,那么问题在此站点上会更有价值。 cmets 中的答案并不重要。感谢您添加它。