0
当用户想要更改网格中的选定行时,程序询问他是否想继续。如果否,所选行不得更改。问题在于,无论用户点击了是还是否,所选行都会更改为用户点击的行。我不知道我是否可以使用Validate函数,但请在此帮助我。谢谢。在VB6中,如何获取之前在mshflexgrid中选择的行?
当用户想要更改网格中的选定行时,程序询问他是否想继续。如果否,所选行不得更改。问题在于,无论用户点击了是还是否,所选行都会更改为用户点击的行。我不知道我是否可以使用Validate函数,但请在此帮助我。谢谢。在VB6中,如何获取之前在mshflexgrid中选择的行?
单靠MSFlexGrid事件看起来并没有这种能力。您可以跟踪模块变量中的前一行。当用户转到新行时,您可以提示他们是否要更改行。如果他们点击不,你可以设置行回到它是什么,否则现在存储你是一行。
像这样的事情
Private previousRow As Integer
Private Sub Form_Load()
previousRow = MSFlexGrid1.Row
End Sub
Private Sub MSFlexGrid1_RowColChange()
If previousRow <> MSFlexGrid1.Row Then
If MsgBox("Do you want to change rows?", vbYesNo) = vbNo Then
MSFlexGrid1.Row = previousRow
Else
previousRow = MSFlexGrid1.Row
End If
End If
End Sub