VS2005 / C# - ToolStripButton vs Button

16/02/2009 - 14:21 von Stefan Bockelmann | Report spam
Ich bràuchte mal wieder Eure Hilfe:
Eine über das Click-Ereignis eines ToolStripButton ausgeführte Procedur
verhàlt sich anders, als wenn sie über das Click-Ereignis eines "normalen"
Button ausgeführt wird.

Hintergrund: Auf Mausclick soll ein erfasstes Anruferprotokoll per Email
verschickt werden können. Dafür nutzen wir MAPI32, um den
Standard-Emailclient mit entsprechenden Infos (Empfànger, Betreff, Inhalt,
etc.) versorgen zu können. Das klappt soweit. Wenn wir aber die Email über
den Button aus der Toolbar versenden, öffnet sich (bei uns) Outlook, aber es
làsst sich nur mit der Tatstatur bedienen. Die Sanduhr wird angezeigt, und
mann muss erst so tun, als wollte man Outlook beenden, dann auf Abbrechen
klicken, und dann funktioniert auch die Maus wieder.

Verschicken wir die Email über einen "StandardButton", funktioniert alles
tadellos.
In beiden Ereignissen wird dieselbe Prozedur aufgerufen...
Hat Jemand eine Idee, woran das liegen kann?

Gruß
S.Bockelmann
 

Lesen sie die antworten

#1 Frank Dzaebel
16/02/2009 - 14:52 | Warnen spam
Hallo Stefan,

Eine über das Click-Ereignis eines ToolStripButton ausgeführte Procedur
verhàlt sich anders, als wenn sie über das Click-Ereignis eines "normalen"
Button ausgeführt wird.



Es wàre sicher nicht ganz unentscheidend, was
denn für Code in dem Button-Handler
steht (ggf. minimal reproduzierbar).

Tatsàchlich gibt es aber Unterschiede,
denn ToolStripButton ist nicht von Control, sondern
von Component abgeleitet. Zum Teil ist ein
"Application.DoEvents();" am Anfang des Handlers
sinnvoll, bevor eine Aktion ausgelöst wird.
Es gibt hier Unterschiede bei den beiden
Buttons - zum Beispiel im Fokus-Verhalten, der
Selektierbarkeit als ActiveControl und TAB-
Erreichbarkeit.


ciao Frank
Dipl. Inf. Frank Dzaebel [MCP, MVP C#]
http://Dzaebel.NET

Ähnliche fragen