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.Object, ByVal e As System.EventArgs) Handles btnSpielen.Click

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

        
Dim labelArray(Länge) As Label

        
If Not Länge > 10 Then

            
For i As Integer = 1 To Länge

                labelArray
(i) = New Label
                labelArray
(i).Text = Mid(txtbWort.Text, i, 1)
                
labelArray(i).Name = "label " & CStr(i)
                
labelArray(i).Location = New Point((i * 30), 300)
                
labelArray(i).Size = New System.Drawing.Size(30, 30)
                
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.