Modaler Dialog

09/01/2008 - 21:19 von Jürgen Müller | Report spam
Hallo NG,

wie öffne ich richtig einen modales Fenster, dass erst noch
Initialiserungsarbeiten erledigen muss?


Das Modale Fenster:

Private CancelClicked as Boolean
private ChoosenColor as string

Public Function GetColor(parameter ...) as string
tue dies und das z.B. ListView füllen

Me.ShowDialog

if CancelClicked Then
return Nothing
else
return ChoosenColor (<-- ist gefüllt worden...)
end if
End sub

private sub CancelButton (...)
CancelClicked=True
me.close
end sub

private sub OKButton (...)
CancelClicked=False
me.close
end sub

Das aufrufende Fenster:

dim frm as New ColorForm
dim col as string = frm.GetColor(parameter...)


Ist das überhaupt elegant so???

Außerdem habe ich das Problem, dass sich so NICHT wàhrend der
Initialisierung auf eine bestimmtes ListViewItem der Focus setzten làßt!!!

Das geht erst wenn ich es so mache:

Public Function GetColor(parameter ...) as string

ME.SHOW

tue dies und das z.B. ListView füllen

ME.VISIBLE úLSE
Me.ShowDialog
...
end sub

So aber flackert die Form bei Start ...

Wie kann man das besser lösen?


Vielen Dank!
 

Lesen sie die antworten

#1 Herfried K. Wagner [MVP]
09/01/2008 - 21:29 | Warnen spam
"Jürgen Müller" schrieb:
wie öffne ich richtig einen modales Fenster, dass erst noch
Initialiserungsarbeiten erledigen muss?



Ich würde mich an das Entwurfsmuster halten, das bei Dialogen im .NET
Framework gewàhlt wurde. Ein Beispiel für einen Dialog zur Datumsauswahl
findest Du in
<URL:http://google.com/groups?selm=O0i%2...x.gbl>.
Den Initialisierungscode kannst Du im Konstruktor des Formulars oder bei der
Behandlung des 'Load'-Ereignisses plazieren.

M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://dotnet.mvps.org/dotnet/faqs/>

Ähnliche fragen