Domanda

Sto cercando di capire cosa devo fare per sovrascrivere il comportamento del ToolStripDropDown controllo su System.Windows.Forms dove se usi questo costruttore:

 var button = new ToolStripSplitButton("text","path to image", clickEventHandler)

Quindi il discesa mostrerà solo se mantengo il mouse premuto e se lo uso altro

var button = new ToolStripSplitButton("text","path to image")

Quindi il discesa verrà visualizzato quando faccio clic.

È chiaro per me che fornire un gestore di eventi click è molto esplicito nel dire "ehi, quando faccio clic, eseguire questo" ma nel caso di a ToolStripSplitButton La distinzione si confonde un po 'a causa della natura divisa del controllo stesso.

Quindi, quello che mi piace fare è a) quando l'utente fa clic sulla parte del pulsante del ToolStripSplitButton, il gestore dell'evento click si esegue come normale b) quando faccio clic o premo il mouse sulla parte della freccia del ToolStripSplitButton Quindi il discesa mostra

Esiste una proprietà/metodo OOB per fare proprio questo?

Grazie

È stato utile?

Soluzione

Il ToolStripSplitButton Ha due gestori di clic. Uno si chiama "Click" e l'altro si chiama "ButtonClick". Quello dal costruttore è il gestore "clicca" e spara indipendentemente da dove nel controllo si fa clic. Il gestore "ButtonClick" spara solo quando si fa clic sul pulsante stesso, non la freccia.

Prova questo:

var button = new ToolStripSplitButton("text","path to image");
button.ButtonClick += clickEventHandler;
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top