C# ToolStripMenu soll nicht schliessen

Gast #2173106
Lesenswert?

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 ?
Gast #2173130
Lesenswert?

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
Gast #2173140
Lesenswert?

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ß
#2173254
Lesenswert?

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.
Gast #2175519
Lesenswert?

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
Angehängte Dateien:
#2175697
Lesenswert?

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.
Gast #2175788
Lesenswert?

"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
#2181808
Lesenswert?

ä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... ;)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren