VB.net重复的文本框输入验证 [英] VB.net Duplicate textbox inputs validation

查看:315
本文介绍了VB.net重复的文本框输入验证的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要帮助VB.net中的一个功能。



我有6个文本框仅限于数字,仅限于1-25的用户必须填写的数字我需要一种方式来检查文本框中的重复数字,当我点击按钮。



这是我的代码到目前为止:

  Private Sub validate_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)处理validate.Click 
对于每个t在textBox中
如果String .IsNullOrEmpty(t.Text)然后
nr1.Text =
nr2.Text =
nr3.Text =
nr4.Text =
nr5.Text =
nr6.Text =
nr1.Focus()
退出子
退出
结束如果
下一步t

Dim rand = GetRandom(1,1715)
Dim miliseconds = CLng(DateTime.Now.Subtract(New DateTime(1970,1,1))。TotalMilliseconds)

strSQL = xxxxxxxx

D im da As New MySqlDataAdapter(strSQL,CONNECTION)
da.Fill(ds)
nr1.Text =
nr2.Text =
nr3.Text =
nr4.Text =
nr5.Text =
nr6.Text =
value.Text =1
broj1.Focus()

list()
End Sub

谢谢:)



好的,我设法让它工作,这里是代码:



好的,谢谢你们回答我。



我已经找到解决方案,如果有人需要,我会在这里发布:

  Dim textBoxes As TextBox()= New TextBox(){nr1,nr2,nr3,nr4,nr5,nr6} 
对于i As Integer = 0到textBoxes.Length - 2
对于j As Integer = i + 1 To textBoxes.Length - 1
如果textBoxes(i).Text = textBoxes(j).Text然后
//无法执行,找到重复
MessageBox.Show(Me,Duplicate value)
textBoxes(j).Focus()
返回
结束如果
下一个
下一个
// sucessful


解决方案

如果有一些重复,这意味着至少有2个。



你必须这样做这样的事情

(int i = 1;

  I&10 6; i ++)
for(int j = i + 1; j< = 6; j ++)
{
if(名称为nr + i的控件的值与控制名称为nr + j)
{
//有一个重复的
}
}

要获取VB中的名称控件 - 如何通过名称引用Windows窗体控件(C#/ VB)



我希望你可以在VB中翻译。


I need help with one function in VB.net.

I have 6 textboxes limited only to numbers and only to numbers from 1-25 which user must fill in. I need a way to check for duplicate numbers in textboxes when i click button.

Here is my code so far:

Private Sub validate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)     Handles validate.Click
    For Each t In textBoxes
        If String.IsNullOrEmpty(t.Text) Then
            nr1.Text = ""
            nr2.Text = ""
            nr3.Text = ""
            nr4.Text = ""
            nr5.Text = ""
            nr6.Text = ""
            nr1.Focus()
            Exit Sub
            Exit For
        End If
    Next t

    Dim rand = GetRandom(1, 1715)
    Dim miliseconds = CLng(DateTime.Now.Subtract(New DateTime(1970, 1, 1)).TotalMilliseconds)

    strSQL = xxxxxxxx

    Dim da As New MySqlDataAdapter(strSQL, CONNECTION)
    da.Fill(ds)
    nr1.Text = ""
    nr2.Text = ""
    nr3.Text = ""
    nr4.Text = ""
    nr5.Text = ""
    nr6.Text = ""
    value.Text = "1"
    broj1.Focus()

    list()
End Sub

Thank you :)

Ok, i managed to get it working, here is the code:

Ok, thank you guys for answering me.

I have found solution and if anyone needs it i will post it here:

Dim textBoxes As TextBox() = New TextBox() {nr1, nr2, nr3, nr4, nr5, nr6}
For i As Integer = 0 To textBoxes.Length - 2
    For j As Integer = i + 1 To textBoxes.Length - 1
        If textBoxes(i).Text = textBoxes(j).Text Then
            //failed to execute, found duplicates
            MessageBox.Show(Me, "Duplicate value.")
            textBoxes(j).Focus()
            Return
        End If
    Next
Next
//sucessful

解决方案

Well if there is some duplicate, it means that there are at least 2.

You have to do something like this

for(int i=1; i<6; i++)
for(int j=i+1; j<=6; j++)
{
 if(the value of the control with the name nr+i has the same value as the control with the name nr+j)
{
// there is a duplicate
}
}

To get a control by name in VB - How do I refer to a windows form control by name (C# / VB)

I hope you can translate this in VB.

这篇关于VB.net重复的文本框输入验证的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆