Hallo, ich habe in C# WindowsForm ein ToolstripMenuItem. Jetzt habe ich ausserdem in diesem ToolstripMenuItem einen Eintrag "Spalten" dieser ist so programmiert das man boolisch auswählen kann (Spalten.Checked) als entweder Checked=true oder checked=false; Ich weis gar nicht wie ich es beschreiben soll mein Problem ist das wenn ich auf den Eintrag "Spalten" klicke das ganze ToolStrip schliesst. Als ich seh erst beim nächsten mal wenn ich in Toolstrip gehe das der Checked-Hacken gesetzt. Ich will es aber so haben, das ich ins Toolstrip reingehe und darin auf den Eintrag "Spalten" klicken kann so oft ich will wie bei einer CheckedBox Verständlich ?
private void tsSelectedRows_Click(object sender, EventArgs e) { if (tsSelectedRows.Checked) { tsSelectedRows.Checked = false; } else tsSelectedRows.Checked = true; } so wir nur getoogelt den Rest hat bisher der Designer programmiert Also noch wenn ich auf tsSelectedRows(ToolstripMenuItem - ein Eintrag) in der Form clicke wird schon der obige Code ausgeführt aber ich sehe die Änderung nicht da dabei auf das ToolStripMenuItem geschlossen wird
Toll, nun kann ich immer noch raten... MAl ins blaue: welche Erreignisse (Funktionen sind mit ToolStrip verknüft), also wenn du mit VSStudio arbeitest, neber den Eigenschaften? Wenn da welche sind, welche INhalte haben die (posten hier). gruß
Oder schick mir mal das ganze Projekt...dann schau ich mal schnell drüber, hab gerade sowas von Langeweile...
Franz schrieb: > Ich will es aber so haben, das ich ins Toolstrip reingehe und darin auf > den > Eintrag "Spalten" klicken kann so oft ich will wie bei einer CheckedBox > > Verständlich ? Abgesehen davon, dass mir keine Anwendung bekannt ist, die das Verhalten der Menüs so verbiegt... Entweder eine eigene Klasse von ToolStripMenuItem ableiten und das Maus-Event-Handling anpassen, WPF/Silverlight verwenden oder kein normales Menü, sondern ein Office-Ribbon.
Hier mal ganz einfaches Beispiel. Einzige Forderung ist das bei einem Click auf "Test" im Toolstripmenu das Toolstripmenu nicht schliesst und man somit das toggeln des Hackens sieht.
Ich habe gerade mal dein Beispiel ausprobiert. Habs aber auch nicht hinbekommen :) Aber irgendwie muss es gehen!?
So ein bischen weiter bin ich schon. Ich habe im Toolstrip zwei Einträge. Beim Click auf das erste soll der Hacken toggeln und das Toolstrip darf nicht schliessen. Beim Click auf das zweite soll der Hacken auch toggeln nur soll nach dem Click das Toolstrip wie gewohnt schliessen. Ich kriege das einfach nicht hin. Kann sich jemand bitte mal den Code ansehen
Du musst, wenn ein Item angeklickt wird, dir merken ob dieses das 1. oder das 2. ist. Das überprüfst du dann im Event. Arc Net schrieb: > Abgesehen davon, dass mir keine Anwendung bekannt ist, die das Verhalten > der Menüs so verbiegt... Versteh ich auch nicht. Das einzigste was an den Menu/ToolStrip Funktionen fehlt ist (finde ich) eine Radiobutton Funktion. Die hab ich mir mal für das Toolstrip abgeleitet.
"Du musst, wenn ein Item angeklickt wird, dir merken ob dieses das 1. oder das 2. ist. Das überprüfst du dann im Event." Wie mach ich denn das? Es wird nämlich schon ins Closing eingesprungen bevor in eine CheckChanged oder On Click Funktion eingesprungen wird. Also das Toolstrip ist schon so gut wie zu wenn eine OnClick oder CheckChanged Funktion aufgerufen wird
ändere deine form1.cs in:
1 | using System; |
2 | using System.Collections.Generic; |
3 | using System.ComponentModel; |
4 | using System.Data; |
5 | using System.Drawing; |
6 | using System.Linq; |
7 | using System.Text; |
8 | using System.Windows.Forms; |
9 | |
10 | namespace WindowsFormsApplication1 |
11 | {
|
12 | public partial class Form1 : Form |
13 | {
|
14 | public Form1() |
15 | {
|
16 | InitializeComponent(); |
17 | test.Click += new EventHandler(test_Click); |
18 | }
|
19 | |
20 | void test_Click(object sender, EventArgs e) |
21 | {
|
22 | toolStripDropDownButton1.ShowDropDown(); |
23 | }
|
24 | |
25 | |
26 | |
27 | }
|
28 | }
|
...dann wird immer, wenn du den button "test", also der nicht zum schliesen führen soll, das dropdown wieder geöffnet... ;)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.