Vb.net 标签上最后一个表单的错误结果始终为0
大家好,我想在VB.NET中就我的问题寻求一些帮助。我有一个程序,如果文本框中的文本与上一个表单的文本框中的文本相等,它将为每个正确答案添加1,但它总是显示零(0)(最后一个表单),并且不显示我想要的结果。这是我的代码员,我希望你能帮我解决这个问题,提前谢谢Vb.net 标签上最后一个表单的错误结果始终为0,vb.net,winforms,forms,Vb.net,Winforms,Forms,大家好,我想在VB.NET中就我的问题寻求一些帮助。我有一个程序,如果文本框中的文本与上一个表单的文本框中的文本相等,它将为每个正确答案添加1,但它总是显示零(0)(最后一个表单),并且不显示我想要的结果。这是我的代码员,我希望你能帮我解决这个问题,提前谢谢 Imports System.Convert Imports System.IO Public Class Form3 Private frm1 As Form1 Private frm4 As Form4 Public Su
Imports System.Convert
Imports System.IO
Public Class Form3
Private frm1 As Form1
Private frm4 As Form4
Public Sub New1(ByVal callerInstance As Form1)
InitializeComponent()
' save the instance of the Me variable passed to this constructor
frm1 = callerInstance
End Sub
Public Sub New2(ByVal callerInstance As Form4)
InitializeComponent()
' save the instance of the Me variable passed to this constructor
frm4 = callerInstance
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim frm1 As Form1 = Form1
Dim frm4 As Form4 = Form4
frm1 = New Form1
frm4 = New Form4
'program execution proper
Dim lbl3 As Integer = CInt(frm4.Label3.Text)
lbl3 = CInt(frm4.Label3.Text)
Dim Label22 As New Label
If frm1.TextBox2.Text = TextBox1.Text Then
lbl3 = CInt(lbl3) + 0 'if(integer.tryparse, lbl3) then lbl3 += 1
Dim Label24 As New Label
If Not frm1.TextBox4.Text = TextBox2.Text Then
lbl3 = CInt(lbl3) + 0
Dim Label26 As New Label
If Not frm1.TextBox6.Text = TextBox3.Text Then
lbl3 = CInt(lbl3) + 0
Dim Label28 As New Label
If Not frm1.TextBox8.Text = TextBox4.Text Then
lbl3 = CInt(lbl3) + 0
Dim Label30 As New Label
If Not frm1.TextBox10.Text = TextBox5.Text Then
lbl3 = CInt(lbl3) + 0
Dim Label32 As New Label
If Not frm1.TextBox12.Text = TextBox6.Text Then
lbl3 = CInt(lbl3) + 0
Dim Label34 As New Label
If Not frm1.TextBox14.Text = TextBox7.Text Then
lbl3 = CInt(lbl3) + 0
Dim Label36 As New Label
If Not frm1.TextBox16.Text = TextBox8.Text Then
lbl3 = CInt(lbl3) + 0
Dim Label38 As New Label
If Not frm1.TextBox18.Text = TextBox9.Text Then
lbl3 = CInt(lbl3) + 0
Dim Label40 As New Label
If Not frm1.TextBox20.Text = TextBox10.Text Then
lbl3 = CInt(lbl3) + 0 'frm4.Label3.Text = (frm4.Label3.Text) + 1
frm4.Show()
Me.Hide()
Else
lbl3 = CInt(lbl3) + 1
frm4.Show()
Me.Hide()
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
If frm4 IsNot Nothing Then
frm4.Visible = False
frm4.Show(Me) 'Show Second Form
Me.Hide()
End If
End Sub
End Class
添加设置代码
frm4.Label3.Text = lbl3.ToString()
向
Lbl3
添加任何内容的唯一时间是:
If Not frm1.TextBox20.Text = TextBox10.Text Then
lbl3 = CInt(lbl3) + 0 'frm4.Label3.Text = (frm4.Label3.Text) + 1
frm4.Show()
Me.Hide()
Else
lbl3 = CInt(lbl3) + 1
frm4.Show()
Me.Hide()
End If
对于嵌套,只有当所有其他if语句都为True时,您才能到达这一点
除此之外,在所有其他if语句中,您的结果要么是lbl3=CInt(lbl3)+0
(如果此语句和之前的所有语句都是真的),要么如果其中任何一个都是假的,则所有后续语句都是无关的
如果我正确理解你的意图,那么你想要的不是:
If frm1.TextBox2.Text = TextBox1.Text Then
lbl3 = CInt(lbl3) + 0 'if(integer.tryparse, lbl3) then lbl3 += 1
Dim Label24 As New Label
If Not frm1.TextBox4.Text = TextBox2.Text Then
lbl3 = CInt(lbl3) + 0
尝试:
等等
然后,要显示它,您需要更新以下代码:
If Not frm1.TextBox20.Text = TextBox10.Text Then
lbl3 = CInt(lbl3) + 0 'frm4.Label3.Text = (frm4.Label3.Text) + 1
frm4.Label3.Text = CStr(lbl3)
frm4.Show()
Me.Hide()
Else
lbl3 = CInt(lbl3) + 1
frm4.Label3.Text = CStr(lbl3)
frm4.Show()
Me.Hide()
End If
(这与我在上面评论的另一个问题的答案非常相似)谢谢你的回答。您好,先生,您的意思是什么?请您详细说明一下好吗?再次感谢您的代码没有保存递增的值,因此它始终显示
0
。您好,先生,我将frm4.Label3.Text=lbl3.ToString()放在哪里?感谢您不明白它应该放在哪里,这表明您不理解自己的代码。所以问题不在于代码,而在于你。@ElektroStudios嗨,先生,你批评是可以的,但要确保它是建设性的,而不是肮脏的:)无论如何,帮助而不是责备会更好。。顺便说一下,谢谢你的意见:)第三次幸运和的三份副本-要么是该用户,要么是三个有相同问题的独立用户@别这么粗鲁,伙计,我是以礼貌的方式问的。我的第一条帖子没有答案,所以想办法寻求帮助是对的。。顺便说一句,谢谢你的关心。道歉-不是故意粗鲁,只是提醒大家注意另外两个问题,以避免一些穷人浪费宝贵的时间重复已经提出的建议,在添加到第一个链接之前,我几乎在你的第二篇文章中这样做了!作为建议,您最好保留相同的用户名,并在新问题中突出显示以前的问题,说明其答案不充分的原因。有一点-所有Dim
-ed标签的用途是什么-它们似乎没有在代码示例中使用-它们是否在其他地方使用?您好,先生,谢谢您的帮助回答。这一行显示了一个错误frm4.Label3.Text=lbl3错误是Option Strict,不允许从“整数”到“字符串”的隐式转换。问题解决了,先生!非常感谢我收回我刚才说的你很粗鲁的话,现在我知道你是个好人:)再次谢谢,非常感谢!:)
If Not frm1.TextBox20.Text = TextBox10.Text Then
lbl3 = CInt(lbl3) + 0 'frm4.Label3.Text = (frm4.Label3.Text) + 1
frm4.Label3.Text = CStr(lbl3)
frm4.Show()
Me.Hide()
Else
lbl3 = CInt(lbl3) + 1
frm4.Label3.Text = CStr(lbl3)
frm4.Show()
Me.Hide()
End If