VB.NET Hangman

05/12/2013 20:40 Ludder231#1
Hi,

ich will mir ein Hangman programmieren. Nun packe ich das mit der Überprüfung der Buchstaben nicht.
PHP Code:
Public Class frmHangman
    Dim Länge 
As Integer
    Dim labelArray
() As Label
    Dim GesuchtestWort 
As String
   
Private Sub btnSpielen_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles btnSpielen.Click

        btnSpielen
.Enabled False
        Länge 
Len(txtbWort.Text)

        
Dim labelArray(Länge) As Label

        
If Not Länge 10 Then

            
For As Integer 1 To Länge

                labelArray
(i) = New Label
                labelArray
(i).Text Mid(txtbWort.Texti1)
                
labelArray(i).Name "label " CStr(i)
                
labelArray(i).Location = New Point((30), 300)
                
labelArray(i).Size = New System.Drawing.Size(3030)
                
labelArray(i).Font = New Font("Arial"15)
                
labelArray(i).Visible True ' später auf false
                Me.Controls.Add(labelArray(i))
                GesuchtestWort &= labelArray(i).Text


            Next
            txtbWort.Text = Nothing

        Else

            MsgBox("Wort zu lang!", MsgBoxStyle.Exclamation)

        End If


    End Sub

   Private Sub btnPrüfen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrüfen.Click

        If GesuchtestWort.Contains(txtbPrüfung.Text) Then

            For Each ctrl As Control In labelArray

                MsgBox(ctrl.Name )

            Next

        End If


    End Sub
End Class 
Ich möchte nun meine erstellten Labels auf ihren Inhalt überprüfen aber so gehts ja anscheinend nicht :D Wie mache ich das jz das die Labels ein Control ist?

MfG Ludder231
05/12/2013 20:43 #SoNiice#2
Warum packst du die Labels denn in ein Array, ist hier doch gar nicht nötig.
05/12/2013 20:44 Ludder231#3
Quote:
Originally Posted by SoNiice View Post
Warum packst du die Labels denn in ein Array, ist hier doch gar nicht nötig.
Damit ich die bearbeiten kann? Wie sonst?
05/12/2013 20:55 #SoNiice#4
Ich gehe nicht davon aus, dass es in VB grundlegend anders ist als in C#, aber hier wird definitiv kein Array benötigt.

Code:
Label lbl = new Label(); 
lbl.Text = "Text...";
So würde ich es in C# machen.
05/13/2013 11:04 SwarN#5
Die Antwort die du suchst wäre:

Quote:
For Each lbl As System.Windows.Forms.Label In labelArray
MsgBox(lbl.Text)
Next
Dass hättest du auch selber rausfinden konnen, wenn du in die Masken Entwurfsansicht gegangen wärst und einfach mal ein Label ausgewählt hättest. Dann siehst du rechts bei Eigenschaften welchen Objekttyp dieses Control hat.