2016-03-29 4 views
-1

からテキストボックスを呼び出すときに、私はこれで問題を抱えているのエラーが表示されます。使用されていない変数、または気にしないでくださいForm1の

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 

:私はForm2上でこのコードを持っている

それは進行中の作業なので、単一の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 

私は、このエラーで終わります。

An unhandled exception of type 'System.InvalidCastException' occurred in Microsoft.VisualBasic.dll
Additional information: Conversion from string "" to type 'Double' is not valid.

私はプログラムがここを通過するときことを得る:

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

すべてのヘルプはappreですciated。多く私はform1.textbox1.textを正しく呼んでいません。たぶん私はそれを正しくリセットしていません。私は専門家ではないので、私は分かりません。前もって感謝します!

答えて

1

テキストボックスとラベルのTextプロパティはString型です。

あなたは、文字列ではなく、番号が含まれている必要がありlbl22.Textにarithmethic演算結果を設定している、form1.TextBox1.Textform1.TextBox2.Textは、整数値が含まれていると仮定すると。

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

はエラーConversion from string "" to type 'Double' is not validが空の文字列を数値に変換することができないことを通知するので、両方TextBox1.TextTextBox2.Textが空でないことを確認している、と述べた

変更

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

することにより演算を実行する前に実行される。

+0

それは動作しませんでした:/。私はこのエラーが発生します:Microsoft.VisualBasic.dllで 'System.InvalidCastException'型の未処理例外が発生し、エラーがここにあることを示します:If form1.TextBox3.Text <> 0 Then lbl22.Text = 0 Else lbl22.Text =(Int(form1.TextBox1.Text)+ Int(form1.TextBox2.Text)) - 1 終了場合 –

+0

また、私は言ったように。私が最初に実行するときは、リセットボタンを押しても動作しません。/ –

+0

そのため、 'TextBox1.Text'と' TextBox2.Text'の両方に値があるのは初めてです。私は2回目のうちに少なくとも1人が価値を失ってしまっていることを賭けています。それは空です。 – equisde

関連する問題