繁体   English   中英

从 form1 调用文本框时出现错误

[英]I get an error when calling a textbox from form1

我遇到了以下问题:

我在Form2上有这个代码:

Public Class Form2
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim lbl0, lbl1, lbl11, lbl2, lbl22, lbl3, lbl33, lbl4, lbl44, lbl5, lbl55, lbl6, lbl66, lbl7, lbl77 As New Label
    lbl0.Text = "ACCESORIOS"
    lbl0.Font = New System.Drawing.Font("MS Reference Sans Serif", 15.75, FontStyle.Bold)
    lbl0.Location = New Point(110, 12)
    lbl0.AutoSize = True
    Me.Controls.Add(lbl0)
    lbl1.Text = "Té 180°"
    lbl11.Text = Te180
    lbl2.Text = "Té 90° Empalme - Codo Triple"
    If form1.TextBox3.Text <> 0 Then
        lbl22.Text = 0
    Else
        lbl22.Text = (Int(form1.TextBox1.Text) + Int(form1.TextBox2.Text)) - 1
    End If
    lbl3.Text = "Soporte 90° T/T"
    lbl33.Text = SoporteTT90
    TableLayoutPanel1.Controls.Add(lbl33, 0, 0)
End Sub
End Class

不要介意未使用的变量,或添加单个 tablelayoutpannel,因为这是一项正在进行的工作。 无论如何,这段代码在我第一次运行时运行良好,但是当我按下重置时,

这是 form1 中的一个按钮,其中包含这段代码:

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
    Dim frm = New form1
    frm.Show()
    Me.Close()
    Te180 = 0
    ContadorGlobal = 0
    SoporteTT90 = 0
    End Sub

我最终遇到了这个错误:

Microsoft.VisualBasic.dll 中发生类型为“System.InvalidCastException”的未处理异常
附加信息:从字符串 "" 到类型 'Double' 的转换无效。

当程序通过这里时,我明白了:

If form1.TextBox3.Text <> 0 Then
    lbl22.Text = 0
Else
    lbl22.Text = (Int(form1.TextBox1.Text) + Int(form1.TextBox2.Text)) - 1
End If

任何帮助表示赞赏。 许多我没有正确调用 form1.textbox1.text。 也许我没有正确重置它。 我不知道,因为我不是专家。 提前致谢!

文本框和标签的文本属性是字符串类型。

假设form1.TextBox1.Textform1.TextBox2.Text包含整数值,您将算术运算结果设置为lbl22.Text ,它应该包含一个字符串,而不是一个数字。

改变

lbl22.Text = (Int(form1.TextBox1.Text) + Int(form1.TextBox2.Text)) - 1

经过

lbl22.Text = ((Int(form1.TextBox1.Text) + Int(form1.TextBox2.Text)) - 1).ToString

也就是说, Conversion from string "" to type 'Double' is not valid告诉你一个空字符串不能转换为数字,所以在执行之前确保TextBox1.TextTextBox2.Text都不为空算术运算。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM