Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von Sinlyu.
Label Menü
wie kann man so ein Label menü erstellen wie in den Spiel BringItDown von Eiipott
Kommt drauf an was du unter dem Begriff "Labelmenü" verstehst, den diesen Begriff gibt es im Visual Studio eigentlich nicht.
Ich denke mal du meinst den MenuStrip, also schaus dir einfach mal an
nein kennst du nicht das spiel bringitdown von eipoot wenn man dan die pfeil tasten bewegt wird das focusiertre label schwarz someine ich das
Ich weiß noch nicht mal was du meinst da ich in seinem Spiel kein Label sehe, das man fokussieren kann. Das Einzige was da schwarz ist sind die Boxen und die sind meiner vermutung nach mit GDI programmiert.
Das machste selber, indem du BackColor entsprechend veränderst, z.B. im MouseEnter-/Leave Event..oder BorderStyle z.B. auf FixedSingle damit es eine Umrandung bekommt oder so..
Mein Spiel besteht 100% aus GDI+.
Ich nutze keine Labels.
gut aber wie mache ich das jetzt wenn ich down oder up drücke das das label darunter focusiert ist???
VB.NET-Quellcode
If e.KeyCode.Down Then
label1.focus
EndIf
Erstmal lernst du wie man mit If-Abfragen umgehst, dann lernst du, wie man die Farbe eines Labels ändert und dann kommst du wieder.
Etwas umständlich, aber funktioniert auch (Beispiel mit 2 Labels):
VB.NET-Quellcode
Dim counter asinteger
'Form_Load
counter =0
'Form_KeyDown
If e.KeyCode = Keys.Down
counter+=1
Selectcase counter
Case1
Label1.BorderStyle = BorderStyle.FixedSingle
Label2.BorderStyle = BorderStyle.None
Case2
Label1.BorderStyle = BorderStyle.None
Label2.BorderStyle = BorderStyle.FixedSingle
counter =0
EndSelect
EndIf
Ich habe das jetzt so gemacht
VB.NET-Quellcode
PrivateSub Label2_MouseEnter(ByVal sender AsObject, ByVal e As System.EventArgs) Handles Label2.MouseEnter
Label2.ForeColor = Color.White
Cursor = Cursors.Cross
EndSub
PrivateSub Label2_MouseLeave(ByVal sender AsObject, ByVal e As System.EventArgs) Handles Label2.MouseLeave
Label2.ForeColor = Color.Gray
Cursor = Cursors.Arrow
EndSub
PrivateSub Label3_MouseEnter(ByVal sender AsObject, ByVal e As System.EventArgs) Handles Label3.MouseEnter
Label3.ForeColor = Color.White
Cursor = Cursors.Cross
EndSub
PrivateSub Label3_MouseLeave(ByVal sender AsObject, ByVal e As System.EventArgs) Handles Label3.MouseLeave
Label3.ForeColor = Color.Gray
Cursor = Cursors.Arrow
EndSub
EndClass
ich wollte eigentlich den gleichen effekt mit der tastatur kann ich aber nicht
Danke Cr4ckY hat Geklappt aber wie schaffe ich es jetzt wenn ich dann auch noch enter drücke z.b wenn label1 focusiert ist dan eine neue form erscheint ??
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Sinlyu“ ()
Formular.Show() bei betätigung der Enter-Taste anwenden.
VB.NET-Quellcode
If e.KeyCode = Keys.Enter & Label1.Focused Then
MsgBox("Label1 ausgewählt")
ElseIf e.KeyCode = Keys.Enter & Label2.Focused Then
MsgBox("label2 ausgewählt")
EndIf
ist das so inordnung
Keys.Enter
Danke aber bin selber noch auf die Lösung gekommen
VB.NET-Quellcode
If e.KeyCode = Keys.Enter Then
If counter =1Then
MsgBox("label2")
Else
MsgBox("label1")
EndIf
EndIf
Ich Trage Hier Noch Mal Den Zusammen Gefassten Code Zusammen:
VB.NET-Quellcode
Dim counter asinteger
'Form_Load
counter =0
'Form_KeyDown
If e.KeyCode = Keys.Down
counter+=1
Selectcase counter
Case1
Label1.BorderStyle = BorderStyle.FixedSingle
Label2.BorderStyle = BorderStyle.None
Case2
Label1.BorderStyle = BorderStyle.None
Label2.BorderStyle = BorderStyle.FixedSingle
counter =0
EndSelect
EndIf
If e.KeyCode = Keys.Enter Then
If counter =1Then
MsgBox("label2")
Else
MsgBox("label1")
EndIf
Endif
Poste ma
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Sinlyu“ ()