【发布时间】:2015-08-18 14:24:39
【问题描述】:
我在带有快捷键集 (ALT+S) 的表单上有一个 保存 按钮。
在datagrid 的cellvalidated 事件中,我决定是否可以为用户启用或禁用此按钮。
类似于旧的 VB6 事件触发顺序问题....
如果按钮当前已启用,但用户在数据网格单元格中放置了无效数据。如果他们单击按钮,单元格验证事件将触发,禁用按钮 - 没问题。相反,当他们输入错误数据并执行 ALT+S 时,单元格验证事件会触发,但在这种情况下,Button_Click 事件仍会触发。
有什么方法可以防止这种情况发生吗?基本上如果使用 ALT+,我不希望 Click 事件触发。
【问题讨论】:
-
您可以做的一件事是在
Button_clickinsted ofcell_validate上进行验证。在这种情况下,您将需要一个方法IsCellValid(cell) as boolean。在按钮单击中,您将执行if not IsCellValid(cell) then <focus on cell> return....另外,如何签入button.click-if not button.enabled then return?
标签: vb.net winforms visual-studio-2010 events