C#: WindowsForm ShowDialog

Gast #2102597
Lesenswert?

Hallo!

ich habe ein Eingabefesnter, dass ich einmal instanziere und mehrfach 
hintereinander mit ShowDialog anzeige und den Rückgabewert DialogResult 
auswerte.

Das wiederholte anzeigen führt dazu, dass immer der zuletzt geklickte 
Button ausgewählt ist. Daher wollte ich die ShowDialog-Klasse 
"überschreiben".
override geht jedoch nicht, also habe ich eine Methode "public 
DialogResult ShowDialog" angelegt. Nun bekomme ich folgende 
Fehlermeldung
1
<<meineKlasse>.ShowDialog()' hides inherited member 'System.Windows.Forms.Form.ShowDialog()'. Use the new keyword if hiding was intended"

Was mache ich falsch?

Gruß
v. Graf
Gast #2102608
Lesenswert?

deine klasse erbt die methode ShowDialog von der basis-klasse und du 
hast eine methode ShowDialog definiert, der compiler sagt dir nun das 
deine methode ShowDialog die methode aus der basis-klasse überdeckt, 
wenn es das ist was du möchtest, dann benutze das new keyword.

deine methode muss also so aussehen

public new DialogResult ShowDialog
{
}
#2102638
Lesenswert?

vGraf schrieb:
> Daher wollte ich die ShowDialog-Klasse
> "überschreiben".
> override geht jedoch nicht, also habe ich eine Methode "public
> DialogResult ShowDialog" angelegt.

Was genau meinst Du mit "wollte ich die ShowDialog-Klasse 
"überschreiben"" und "override geht jedoch nicht"? Was versprichst Du 
Dir davon? Was versprichst Du Dir davon, nicht jedesmal eine neue 
Instanz der Dialog-Klasse zu erzeugen? Ist der Dialog derart komplex, 
dass die new-Operation so lange dauert?

Gruß
Markus

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