取消spread farpoint的EnterCell事件

Cancel EnterCell event of spread farpoint

我的程序使用 spread farpoint 作为第 3 方控件,它有一个 TextBox 控件和一个用于显示数据的 Spread 控件。当用户更改传播中的活动单元格时,我想验证文本框不能为空。如果 TextBox 为空,则必须取消 EnterCell 事件并且 TextBox 必须获得焦点,并且传播的活动单元格不得更改。我被困在这里了。

目前我在 LeaveCell 事件中执行了验证,但它不起作用。 EnterCell 事件触发并传播仍然改变了活动单元格:(

If TextBox1.Text = String.Empty Then
  MsgBox ("TextBox1 cannot blank")
  TextBox1.Select()
  'TextBox1.Focus() 'I have tried this function but still not working
End If

请支持我! 谢谢大家

据我所知,我们无法“取消”EnterCell 事件。然而,我发现我们可以做一些小技巧来实现它。

Private Sub spread_LeaveCell(sender as Object, e as LeaveCellEventArgs) Handles sprSheet.LeaveCell
  If TextBox1.Text = String.Empty Then
    MsgBox ("TextBox1 cannot blank")
    'This is the trick
    e.NewColumn = e.Column
    e.NewRow = e.Row
    Exit Sub
  End If
  'Other leave cell proceses..
End Sub

...

Private Sub spread_EnterCell(sender as Object, e as EnterCellEventArgs) Handles sprSheet.EnterCell
  If TextBox1.Text = String.Empty Then
    TextBox1.Select()
  End If
Exit Sub