顯示具有 vb 標籤的文章。 顯示所有文章
顯示具有 vb 標籤的文章。 顯示所有文章

10/19/2010

vb.net限制輸入數字並只到小數點後2位

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

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