Laden...

DialogResult (null) mit SendMessage ?

Erstellt von snupi vor 11 Jahren Letzter Beitrag vor 11 Jahren 1.551 Views
S
snupi Themenstarter:in
357 Beiträge seit 2007
vor 11 Jahren
DialogResult (null) mit SendMessage ?

Wie kann ich mit SendMessage einer View, welche mit ShowDialog geöffnet wurde, ein DialogResult = null senden (damit ich sie im Programm gezielt mit einem ResultCode schliessen kann - WM_CLOSE liefert DialogResult = Cancel) ?

16.834 Beiträge seit 2008
vor 11 Jahren

DialogResult ist ein not-nullable Enum.
Und Cancel hat wohl die Value 0 und ist damit der Standardwert.
Korrektur: None ist der Standardwert. WM_CLOSE ist mit Abbrechen verbunden und setzt daher Cancel.

S
snupi Themenstarter:in
357 Beiträge seit 2007
vor 11 Jahren

Wie kann ich None senden (SendMessage) ?

16.834 Beiträge seit 2008
vor 11 Jahren

Wie in der MSDN steht ist None nur gesetzt, wenn das Dialogfenster noch offen ist. Ob eine Manipulation hier direkt so möglich ist bezweifel ich ein wenig.

S
snupi Themenstarter:in
357 Beiträge seit 2007
vor 11 Jahren

Kann ich aber mit SendMessage OK oder CANCEL schicken ?

C
2.121 Beiträge seit 2010
vor 11 Jahren

Du kannst dieses Ergebnis wahrscheinlich gar nicht schicken. Das Fenster zumachen geht per Message. Was es als Ergebnis zurckgibt hast du direkt nicht in der Hand (glaube ich).
Du könntest aber vielleicht den entsprechenden Button ausfindig machen und den "drücken".

S
snupi Themenstarter:in
357 Beiträge seit 2007
vor 11 Jahren

Der Hintergrund ist folgender: ich öffne in einer WPF-Anwendung eine View mit ShowDialog, welche nur einen OK-Button hat. Dieser sollte beim Öffnen der View disabled sein, und erst bei im weiteren Verlauf auf enabled geschalten werden (die View bleibt aber immer offen) - ich habe hier schon mit Dependency-Properties gespielt... daher war meine Idee, die View zuerst mit inaktiven OK-Button zu öffnen, dann programmatisch (SendMessage, WM_CLOSE) zu schliessen und wieder mit aktvien OK-Button zu öffnen ...