读书人

vb 中datagridview中 如何控制某一列

发布时间: 2012-09-24 13:49:41 作者: rapoo

vb 中datagridview中 怎么控制某一列能输入小数,但是第一位不能是小数点,谢谢各位了?
Private Sub txtEdit_KeyPress(ByVal sender As Object, ByVal e As KeyPressEventArgs)

If Data_View.CurrentCell.ColumnIndex = 9 Or Data_View.CurrentCell.ColumnIndex = 10 Then

If ("0123456789/b".IndexOf(e.KeyChar) = -1) Then

If e.KeyChar <> Convert.ToChar(Keys.Back) Then

e.Handled = True

End If

End If
end sub

[解决办法]
'判断输入的是否是数字、小数点或“BackSpace”符号

If Char.IsDigit(e.KeyChar) Or e.KeyChar = "." Or e.KeyChar = Chr(8) Then
'判断输入的小数点是否唯一
If e.KeyChar = "." Then
Dim str As String
str = txtFenYe.SelectedText
If str = txtFenYe.Text Then '这里处理选中了所有文本之后再敲第一个小数点
e.Handled = True
Exit Sub
End If

If e.KeyChar = "." And InStr(CType(sender, TextBox).Text, ".") > 0 Then '这里处理小数点不唯一

e.Handled = True
Else
If e.KeyChar = "." And CType(sender, TextBox).Text = "" Then '这里处理第一位的小数点
e.Handled = True
Exit Sub
End If
e.Handled = False
End If
End If
'判断输入的负号是否是在第一位
ElseIf e.KeyChar = "-" And CType(sender, TextBox).Text = "" Then
e.Handled = False
Else
e.Handled = True
End If

这段应该可以满足你了,实在有哪个贱人去复制粘贴,那就不管他了,靠~

读书人网 >VB Dotnet

热点推荐