返回首页

我想用一个文本框,输入唯一的字母键和空间的关键only.that是进入人的名字only.and一个数字像
NBSP说,我想每个alphaphets分配;
甲,乙,丙= 1
D,E,F = 2
G,H,我= 3
J,K,L = 4
男,ñ= 5
澳,电能质量,研究,小号,T,U = 6
V,W x,y,z = 7并没有值

它不会不管它是小写或上case.i的空间是三个文本框一种是输入姓名,其他文本框得到的总和charecters和thenbsp; 第三个文本框是要进入一个文本框,在charectersnbsp总和总和的sum.ifü名称; 应在另一个文本框显示

例如,如果u进入一个文本框,它应该显示在另一个文本框35,并在另一个文本框和35方式8的总和名称汤姆永应显示给。我的想法如何设计表和this.i编码是用VB.NET和SQL Server

回答

评论会员:LanFanNinja 时间:2012/02/07
Partial Public Class Form1

    Inherits Form

    Private sum As Integer = 0

    Private summation As Integer = 0

 

    Public Sub New()

        InitializeComponent()

    End Sub

 

    Private Sub nameTextBox_KeyDown(sender As Object, e As KeyEventArgs) Handles nameTextBox.KeyDown

        Dim value As Integer = GetValueOfKey(e.KeyCode)

 

        If value = -1 Then 'Space

            'do nothing

        ElseIf value = -2 Then 'Backspace

            If nameTextBox.Text.Length > 0 Then

                Dim keyVal As Integer = AscW(nameTextBox.Text(nameTextBox.Text.Length - 1).ToString().ToUpper())

                If keyVal <> 32 Then

                    AddValue(-GetValueOfKey(DirectCast(keyVal, Keys)))

                End If

            End If

        ElseIf value = -3 Then 'Invalid

            e.SuppressKeyPress = True

        Else

            AddValue(value)

        End If

    End Sub

 

    Private Sub AddValue(value As Integer)

        sum += value

        sumTextBox.Text = sum.ToString()

        Dim temp As Integer = 0

        For i As Integer = 0 To sumTextBox.Text.Length - 1

            temp += Int32.Parse(sumTextBox.Text(i).ToString())

        Next

        summation = temp

        summationTextBox.Text = summation.ToString()

    End Sub

 

    Private Function GetValueOfKey(key As Keys) As Integer

        Select Case key

            Case Keys.A, Keys.B, Keys.C

                Return 1

            Case Keys.D, Keys.E, Keys.F

                Return 2

            Case Keys.G, Keys.H, Keys.I

                Return 3

            Case Keys.J, Keys.K, Keys.L

                Return 4

            Case Keys.M, Keys.N

                Return 5

            Case Keys.O, Keys.P, Keys.Q, Keys.R, Keys.S, Keys.T, _

             Keys.U

                Return 6

            Case Keys.V, Keys.W, Keys.X, Keys.Y, Keys.Z

                Return 7

            Case Keys.Space

                Return -1

            Case Keys.Back

                Return -2

            Case Else

                Return -3

        End Select

    End Function

End Class
评论会员:游客 时间:2012/02/07
验证字母和Backspace的TextBox使用下面的函数{C}TextBox的KeyPress事件调用上面的函数。要获取的字符使用功能的总和codeprelang="vb"spanclass="code-keyword"Private/spanspanclass="code-keyword"Function/spanGetCharValue(keyspanclass="code-keyword"As/spanKeys)spanclass="code-keyword"As/spanspanclass="code-keyword"Integer/spanspanclass="code-keyword"Select/spanspanclass="code-keyword"Case/spankeyspanclass="code-comment"'/spanspanclass="code-comment"ReturnIntegerValuesforEachAlphabet/spanspanclass="code-keyword"Case/spanKeys.A,Keys.B,Keys.Cspanclass="code-keyword"Return/spanspanclass="code-digit"1/spanspanclass="code-keyword"Case/spanKeys.D,Keys.E,Keys.Fspanclass="code-keyword"Return/spanspanclass="code-digit"2/spanspanclass="code-keyword"Case/spanKeys.G,Keys.H,Keys.Ispanclass="code-keyword"Return/spanspanclass="code-digit"3/spanspanclass="code-keyword"Case/spanKeys.J,Keys.K,Keys.Lspanclass="code-keyword"Return/spanspanclass="code-digit"4/spanspanclass="code-keyword"Case/spanKeys.M,Keys.Nspanclass="code-keyword"Return/spanspanclass="code-digit"5/spanspanclass="code-keyword"Case/spanKeys.O,Keys.P,Keys.Q,Keys.R,Keys.S,Keys.T,Keys.Uspanclass="code-keyword"Return/spanspanclass="code-digit"6/spanspanclass="code-keyword"Case/spanKeys.V,Keys.W,Keys.X,Keys.Y,Keys.Zspanclass="code-keyword"Return/spanspanclass="code-digit"7/spanspanclass="code-keyword"End/spanspanclass="code-keyword"Select/spanspanclass="code-keyword"End/spanspanclass="code-keyword"Function/span/pre/codeTextBox的KeyDown事件上面的函数调用上面的函数呼叫总和{体C3}以获得名称的长度,使用长度的功能{的C4}