作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有文本列和复选框列的 DataGridView。当用户单击复选框时,我想提示用户。我已经使用以下代码完成了这项工作:
private void grid_CurrentCellDirtyStateChanged( object sender, EventArgs e )
{
var grid = sender as DataGridView;
if ( grid.IsCurrentCellDirty)
grid.CommitEdit( DataGridViewDataErrorContexts.Commit );
}
但是,当我尝试在文本列中键入时,它会在我键入时继续提交,而不是在我完成键入时提交。这会导致文本单元格不断突出显示并只允许我输入一个字符。如何修改此事件以仅在复选框值更改时处理?
最佳答案
您需要做的只是注意复选框,而不是文本。我为类似问题找到的解决方案是在 CellEnter 上放置一个事件,记录正在编辑的字段。然后脏处理事件会检查它以决定要做什么。
为什么脏检查中没有坐标我无法想象。
关于c# - CurrentCellDirtyStateChanged 提交得太早,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10985525/
我有一个 datagridview,其中一行是组合框,我在该 datagridview 中有一列(“注释”),每当我更改标题时我都会更新它,即每当我更改组合框中的值时,字段“注释”由该行和列的值填充。
我有一个带有文本列和复选框列的 DataGridView。当用户单击复选框时,我想提示用户。我已经使用以下代码完成了这项工作: private void grid_CurrentCellDirtySt
我是一名优秀的程序员,十分优秀!