2014-03-31 55 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