Jag är nybörjare på vb.net och i ett försöksprojekt så har jag en massa radiobuttons, uppdelade i 2 groupboxar. (gbCard1 och gbCard2) Ja du tänker lite fel, men bara en aning. Alla variabler har ett "scope", det finns säkert någon bättre översättning men låt oss kalla det för räckvidd. En variabel som deklareras i en metod (i VB.Net Sub eller Function) är bara tillgänglig i den metoden. Du kan också deklarera variabler på modulnivå dvs högst upp i en klass, efter klass-deklarationen. Skillnaden där är att du använder keywordet Private eller Public i stället för Dim. Normalt sett räcker det med Private så deklarera dem bara med Public om det verkligen behövs.deklarationer i vb.net...
När en radiobutton klickas så sker följande:
gbCard1:
Private Sub h2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles h2_1.CheckedChanged
Dim card1 As String = "h" & h2_1.Text
Dim strColor As String
Dim strValue As String
strColor = Microsoft.VisualBasic.Left(card1, 1)
strValue = Microsoft.VisualBasic.Right(card1, 1)
lblStatus.Text = "Färg: " & strColor & " Värde: " & strValue
End Sub
gbCard2:
Private Sub h2_2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles h2_2.CheckedChanged
Dim card2 As String = "h" & h2_2.Text
Dim strColor2 As String
Dim strValue2 As String
strColor2 = Microsoft.VisualBasic.Left(card2, 1)
strValue2 = Microsoft.VisualBasic.Right(card2, 1)
lblStatus2.Text = "Färg: " & strColor2 & " Värde: " & strValue2
Mitt problem är:
Först så vill jag kolla om strColor1 är samma som strColor2.
För det andra så vill jag slå samman strValue1 och strValue2 till ex. strSql
Detta ska senare användas för en sql fråga mot en access-db...
Jag antar att detta ska skrivas in i form1-biten?
Men om jag skriver:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If strColor1 = strColor2 Then
...
End If
End Sub
så får jag felet "Name 'strColor1' is not declared" och samma för strColor2...?
Jag deklarerar ju dom när man klickar på respektive radiobutton?
Eller tänkter jag helt fel?
Sv: deklarationer i vb.net...
<code>
Public Class Form1
Inherits System.Windows.Forms.Form
Private myString As String
Private Sub MySub1
Dim myLocalString As String
' Du kan nå myLocalString och myString här...
End Sub
Private Sub MySub2
' men här kan du bara nå myString...
End Sub
End Class
</code>