Private Sub txtRatio_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtRatio.KeyPress
'輸入為數字,小數點或backspace
If Char.IsDigit(e.KeyChar) Or e.KeyChar = "." Or e.KeyChar = Chr(8) Then 'Backspace:
'輸入的小數點為唯一
If e.KeyChar = "." And InStr(CType(sender, System.Windows.Forms.TextBox).Text, ".") > 0 Then
e.Handled = True
Else
'小數最多2位
If e.KeyChar <> Chr(8) And InStr(CType(sender, System.Windows.Forms.TextBox).Text, ".") > 0 Then
Dim sAry() As String = CType(sender, System.Windows.Forms.TextBox).Text.Split(".")
If sAry(1).Length >= 2 Then
e.Handled = True
Else
e.Handled = False
End If
Else
e.Handled = False
End If
End If
'輸入的負號是否在第一位
ElseIf e.KeyChar = "-" And CType(sender, System.Windows.Forms.TextBox).Text = "" Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
10/19/2010
vb.net限制輸入數字並只到小數點後2位
Labels:
.net,
MS Visual Studio 2005,
vb
11/25/2009
How to code a class in VB.net 2005
近幾年物件導向愈來愈熱門,每個語言的概念差不多但寫法都不一樣,那要怎麼寫一個VB.net的Class呢?
Imports Microsoft.VisualBasic
Imports System.Data.OleDb
Imports System.Data
Public Class Table
Private _name As String
Private _delSql As ArrayList
Private _dtDel As DataTable
Private _dsQry As DataSet
Public Sub New(ByVal name As String)
'constructor
Me._name = name
Me._delSql = New ArrayList()
End Sub
Public ReadOnly Property Name() As String
Get
Return _name
End Get
End Property
Public Property DataTable() As DataTable
Get
Return _dtDel
End Get
Set(ByVal value As DataTable)
_dtDel = value
End Set
End Property
Public Sub putDelSql(ByVal sSql As String)
If Not sSql Is Nothing Then
_delSql.Add(sSql)
End If
End Sub
Public Function getDelSql() As ArrayList
Return _delSql
End Function
Public Function getDelSql(ByVal i As Integer) As String
If i <= _delSql.Count - 1 Then
Return _delSql(i)
End If
Return Nothing
End Function
Public Property DataSetQry() As DataSet
Get
Return _dsQry
End Get
Set(ByVal value As DataSet)
_dsQry = value
End Set
End Property
End Class
11/04/2009
VB Window Form 限制輸入字數 code
VB.net限制只能輸入多少字並大寫,以下是練習。
'TextBox limit character digits user input
Public Sub limitTextBoxDigits(ByRef obj As System.Windows.Forms.TextBox, ByVal digits As Integer)
obj.CharacterCasing = Windows.Forms.CharacterCasing.Upper
If obj.SelectedText <> "" Then
Dim selIdx As Integer = obj.SelectionStart
obj.Text = obj.Text.Remove(obj.SelectionStart, obj.SelectionLength)
obj.Select(selIdx, 1)
End If
If obj.Text.Length >= digits Then obj.Text = obj.Text.Remove(digits - 1, 1) : obj.Select(digits - 1, 1)
End Sub
訂閱:
文章 (Atom)