Autor Beitrag
Palladin007
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1282
Erhaltene Danke: 182

Windows 11 x64 Pro
C# (Visual Studio Preview)
BeitragVerfasst: Mo 08.07.13 10:49 
Moin,

ich habe einen Button, der beim Klick entweder die Form schließen (wenn das eingegebene Passwort korrekt ist), oder einen Fehler anzeigen soll.

Hier das Click-Event:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
        private void OkBtn_Click(object sender, EventArgs e)
        {
            if (onValidatePasswordEvent(this.PasswordBox.Text.Trim()))
            {
                this.OkBtn.DialogResult = DialogResult.OK;
                this.Close();
            }
            else
            {
                this.OkBtn.DialogResult = DialogResult.None;
                // TODO: Fehler anzeigen
            }
        }


Ich hab in einer anderen Form das so geregelt, dass der DialogResult noch vor dem Klick des OK-Buttons fest gelegt wird, aber diese Möglichkeit habe ich hier nicht.

Wenn ich diese Methode verwende, kommt als DialogResult jedoch immer Cancle, scheinbar ist das so eine Begleiterscheinung von Close().

Hat jemand eine Idee, wie ich noch in den Click-Event fest legen kann, ob DialogResult OK ist und die Form sich damit schließt, oder None und gar nichts passiert?


Gruß
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mo 08.07.13 11:13 
Hast Du mal versucht, das DialogResult der Form selber zu setzen?

msdn.microsoft.com/d...result(v=vs.80).aspx

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Palladin007 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1282
Erhaltene Danke: 182

Windows 11 x64 Pro
C# (Visual Studio Preview)
BeitragVerfasst: Mo 08.07.13 13:05 
Das wäre aber nicht das, was ich brauche, denn wenn ich DialogResult schon vorher fest lege, dann muss ich es trotzdem ändern.

Der OK-Button kann zwei verschiedene DialogResult-Varianten haben. OK, wenn das Passwort richtig ist und None, wenn es falsch ist.
Ist das Passwort richtig, dann beendet DialogResult.OK die Form und ich kann es verarbeiten. Ist das Passwort falsch, wird das angezeigt und die Form bleibt offen, bis das Passwort korrekt eingegeben wurde, oder die Form durch einen Cancle-Button mit entsprechendem DialogResult beendet wird.

Oder hab ich dich falsch verstanden?


Edit:
Glaub hab dich falsch verstanden. DialogResult von der Form selber habe ich noch nicht gesetzt, ich probiere es gleich mal aus.
Palladin007 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1282
Erhaltene Danke: 182

Windows 11 x64 Pro
C# (Visual Studio Preview)
BeitragVerfasst: Mo 08.07.13 13:21 
Ich antworte mal extra:

Christian, danke für die Hilfe, genau das hab ich gesucht :D

Damit funktioniert es und ich kann auch gleich den WorkAround aus der anderen Form richtig stellen. ^^


Zuletzt bearbeitet von Palladin007 am Mo 08.07.13 14:02, insgesamt 1-mal bearbeitet
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mo 08.07.13 13:23 
Prima, dass es geklappt hat :)

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".

Für diesen Beitrag haben gedankt: Palladin007