VB.NET 2010 Post-KeyPress事件

时间:2016-03-01 18:49:54

标签: vb.net datagridview vb.net-2010

..这是对之前删除的问题的修改,我重写以试图更清楚..

使用Datagridview的VB.NET 2010 Winform。 用户可以键入可编辑的单元格。 在键入时,单元格的“当前”值应该用于搜索一组radiobuttons,并选择与键入的值匹配的按钮。

问题是用户可以键入值,但随后键入DEL或BACKSPACE以更改值。 DEL / BACKSPACE当然不必在价值结束时完成,可以在任何地方。此事件完成后,单元格值也不会“完成”。

我的原始代码看起来像这样......

Private Sub txtdgvDiaryEdit_Keypress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)
    'Test for numeric value or backspace 
    If IsNumeric(e.KeyChar.ToString()) _
    Or e.KeyChar = ChrW(Keys.Back) Then
        e.Handled = False 'if numeric  
        '******************************************************

        If IsNumeric(e.KeyChar.ToString()) Then
            If DirectCast(sender, TextBox).Text.Length = 0 Then
                Call SelectRadioButtonForValue(e.KeyChar.ToString)
            Else
                Dim strvar As String
                strvar = DirectCast(sender, TextBox).Text.ToString + e.KeyChar.ToString
                Call SelectRadioButtonForValue(strvar.ToString)
            End If
        Else ...

但是这不会在DEL / BACKSPACE之后获取单元格的值。 我不能使用任何类型的细胞值变化因为那些直到我真正离开细胞才会开火。

我需要能够在处理Keypress之后获取实际的单元格值,但仍保持在编辑模式中。

思想?

0 个答案:

没有答案