VB.net重复的文本框输入验证 [英] VB.net Duplicate textbox inputs validation
问题描述
我有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屋!