2014-03-31 53 views
0

如何在VB.NET中全局識別變量?我有下面的代碼,我的問題是VB.NET不能識別IF語句之外(即ENDIF之後)的變量「Z_lenght」和「Z_width」。在VB.NET中識別全局變量

Public Class Form1 

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
     If TextBox1.Text > TextBox2.Text Then 
      Dim Z_lenght = TextBox1.Text 
      Dim Z_width = TextBox2.Text 
     Else 
      Dim Z_lenght = TextBox2.Text 
      Dim Z_width = TextBox1.Text 
     End If 

     Dim Z_area = Z_lenght * Z_width 
     RichTextBox1.AppendText("Length = " & Z_lenght) 
     RichTextBox1.AppendText("Width = " & Z_width) 
     RichTextBox1.AppendText("Area = " & Z_area) 
    End Sub 

End Class 

我感謝任何幫助/評論。

+0

if語句聲明它們意味着他們將只在範圍if語句。您可以將它們聲明爲整個班級中可視性的班級變量。或者創建一個模塊並使變量在應用程序中公開以顯示 –

回答

2
Public Class Form1 
    Dim Z_length As Double = 0 
    Dim Z_width As Double = 0 
    Dim Z_area As Double = 0 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
     If TextBox1.Text > TextBox2.Text Then 
      ' I don't know what you're trying to achieve here, 
      ' but I recommend try using Double.TryParse() 
      Double.TryParse(TextBox1.Text, Z_length) 
      Double.TryParse(TextBox2.Text, Z_width) 
     Else 
      Double.TryParse(TextBox2.Text, Z_length) 
      Double.TryParse(TextBox1.Text, Z_width) 
     End If 

     Z_area = Z_length * Z_width 
     RichTextBox1.AppendText("Length = " & Z_length) 
     RichTextBox1.AppendText("Width = " & Z_width) 
     RichTextBox1.AppendText("Area = " & Z_area) 
    End Sub 

End Class 

這將使Z_LengthZ_widthZ_area可用類Form1

+0

非常感謝Codemunkeee;我接受了答案。這個論壇適用於高級和初學者,並且都是通過搜索引擎使用它來獲得答案的。有人不知道答案排名問題(-1),而不是積極的併發布答案。我非常感謝你的回答和幫助。 – Abbas1999

+0

和(+1)爲您的答案Codemunkeee。希望其他初學者會發現它很有用。 – Abbas1999

+0

很高興幫助你@ Abbas1999 ..感謝您的讚賞:) – Codemunkeee

0

聲明你的變量在if else範圍之外。

http://msdn.microsoft.com/en-us/library/1t0wsc67.aspx

如果你聲明塊內的變量,你只能在 阻斷使用它。在下面的示例中,變量cube的整數範圍是If和End If之間的塊,並且當執行超出塊時,不能再指向多維數據集。

鑑於您的意見,看來您應該查看變量作用域。你可以在if-else之外的if-else之外使用你的變量。

+0

Hi DeveloperGuro;你錯過了這個例子,你可以請帖嗎。 – Abbas1999

+0

我知道我們可以聲明變量,如果該值在該塊之外修復;但如何聲明它,如果它的值依賴於塊內的其他變量,就像我上面的例子一樣? – Abbas1999

+0

具有諷刺意味的是,沒有回答問題的人給了(-1)這個問題。如果你知道答案,最好積極回答問題,我是初學者,這就是爲什麼我在這裏問這個簡單的問題。 – Abbas1999