| |
VB.NET - Ein- und Umsteigeralle MenuItems auf Enable = false setzen ausßer das aktuelle | | | Autor: RainerZufall | Datum: 19.06.15 11:18 |
| Hallo,
ich versuche gerade heraus zu bekommen, wie ich alle Einträge eines Menüs sperren kann, ausser das aktuell gedrückte.
Ich habe ein Menustrip, dort ein Menüeintrag namens Filter (mnuFilter). Unterhalb von Filter gibt es insgesamt 4 Einträge. Wenn ich auf einen der Einträge drücke, wird der Menüeintrag als Checked gesetzt und ein Filter auf meine BindingSource angewendet.
Jetzt würde ich gerne erreichen das, wenn ein Eintrag gewählt wurde, das dann alle anderen Einträge gesperrt werden, sodass diese nicht mehr gedrückt werden können. wenn der aktuelle Eintrag wieder gedrückt wird (also der Filter wieder aufgehoben wird) sollen alle einträge wieder entsperrt sein.
Mein Versuch mit
Private Sub DisableEnable()
Dim myCheck As ToolStripMenuItem
For Each myCheck In mnuFilter.DropDownItems
If myCheck.Checked AndAlso myCheck.Enabled Then
Return
Else
myCheck.Checked = False
myCheck.Enabled = False
End If
Next
End Sub funktioniert leider nur so, das zwar die Menüeinträge gesperrt werden, aber nicht mehr entsperrt.
Wie kann ich meinem Code sagen, das er alle sperren und entsperren soll, außer das aktuell gedrückte?
Vielen Dank
Rainer
Public Sub Autobahn(ByVal Regen As Boolean)
If Regen Then
MessageBox.Show("SOFORT LICHT EINSCHALTEN!!!", "Achtung es regnet!", MessageBoxButtons.OK, MessageBoxIcon.Warning)
End If
End Sub | |
Re: alle MenuItems auf Enable = false setzen ausßer das aktuelle | | | Autor: GPM | Datum: 19.06.15 17:53 |
| Eventuell so:
Public Class Form1
Dim Ts As New ToolStrip With {.Parent = Me}
Dim WithEvents Tmi As New ToolStripMenuItem
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) _
Handles MyBase.Load
Tmi.Text = "Filter"
For i As Int32 = 0 To 3
Tmi.DropDownItems.Add(New ToolStripMenuItem With {.Text = "Filter" _
& i.ToString, .CheckOnClick = True})
Next
Ts.Items.Add(Tmi)
End Sub
Private Sub Mi_ItemClicked(sender As Object, e As _
ToolStripItemClickedEventArgs) Handles Tmi.DropDownItemClicked
Dim Ci = CType(e.ClickedItem, ToolStripMenuItem)
For Each Itm As ToolStripMenuItem In Tmi.DropDownItems
If Not Itm Is Ci Then
Itm.Enabled = Not Itm.Enabled
End If
Next
End Sub
End Class MfG GPM 0 | |
Re: alle MenuItems auf Enable = false setzen ausßer das aktuelle | | | Autor: RainerZufall | Datum: 22.06.15 08:47 |
| Hey GPM,
das ist genau das, was ich erreichen wollte.
Super, Vielen Dank. Habs auf meinen Code umgeändert und es klappt bestens.
Grüße
Rainer
Public Sub Autobahn(ByVal Regen As Boolean)
If Regen Then
MessageBox.Show("SOFORT LICHT EINSCHALTEN!!!", "Achtung es regnet!", MessageBoxButtons.OK, MessageBoxIcon.Warning)
End If
End Sub | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
sevISDN 1.0
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats sevZIP40 Pro DLL
Zippen und Unzippen wie die Profis!
Mit nur wenigen Zeilen Code statten Sie Ihre Anwendungen ab sofort mit schnellen Zip- und Unzip-Funktionen aus. Hierbei lassen sich entweder einzelnen Dateien oder auch gesamte Ordner zippen bzw. entpacken. Weitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|