Es ist üblich, dass Desktop-Anwendungen Dialogfelder verwenden, wenn sie Informationen vom Benutzer anfordern. Sie können Eingabedialogfelder in einer Windows Forms-Anwendung erstellen, indem Sie ein neues Fenster anzeigen.

Sie können dem neuen Dialogfenster auch UI-Elemente hinzufügen. Dazu gehören Nachrichten, Textfelder und die Schaltflächen „Ok“ und „Abbrechen“. Wenn der Benutzer Informationen in das Eingabefeld eingibt, können Sie das Ergebnis speichern und in anderen Teilen der App verwenden.

So erstellen Sie eine On-Click-Funktion zum Auslösen des Eingabedialogfelds

Das Dialogfeld sollte nicht immer sichtbar sein. Sie können das Dialogfeld so auslösen, dass es angezeigt wird, wenn der Benutzer eine Aktion ausführt, z. B. das Klicken auf eine Schaltfläche. Sie können auch mehr über andere erfahren Windows Forms-Ereignisse die Sie in einer Windows Forms-App verwenden können.

Fügen Sie dem Canvas eine Schaltfläche hinzu und erstellen Sie eine Funktion, die ausgeführt wird, wenn der Benutzer auf die Schaltfläche klickt.

instagram viewer
  1. Ein... kreieren neue Windows Forms-Anwendung im Visual Studio.
  2. Suchen Sie in der Toolbox nach einem Schaltflächen-UI-Steuerelement.
  3. Klicken Sie auf eine Schaltfläche und ziehen Sie sie auf die Leinwand.
  4. Ändern Sie im Eigenschaftenfenster die Eigenschaften der Schaltfläche auf die folgenden neuen Werte:
    Name des Anwesens Neuer Wert
    Name dialogButton
    Größe 400, 100
    Text Eingabedialog öffnen
  5. Klicken Sie in der Toolbox auf eine Beschriftung und ziehen Sie sie auf die Leinwand. Platzieren Sie das Etikett auf der rechten Seite der Schaltfläche.
  6. Ändern Sie im Eigenschaftenfenster die Eigenschaften des Etiketts auf die folgenden Werte:
    Name des Anwesens Neuer Wert
    Name LabelResponseInput
    Sichtbar FALSCH
  7. Doppelklicken Sie auf die Schaltfläche „Neuer Eingabedialog“. Dadurch wird eine On-Click-Funktion in der Code-Behind-CS-Datei für das Formular generiert.
    PrivatgeländeLeeredialogButton_Click(Objekt Sender, EventArgs e)
    {
    // Der Code hier wird ausgelöst, wenn der Benutzer auf die Schaltfläche klickt
    // Es wird das Eingabedialogfeld angezeigt
    }

So erstellen Sie das Eingabedialogfeld

Erstellen Sie das Dialogfeld in einer neuen Funktion. Die Funktion erstellt programmgesteuert ein neues Formular und fügt ihm UI-Elemente hinzu, darunter ein Textfeld mit den Schaltflächen „Ok“ und „Abbrechen“.

  1. Unter dem dialogButton_Click() Funktion, erstellen Sie eine neue Funktion, die das Eingabedialogfeld erstellt. Der "Titel"-Parameter wird in der oberen linken Ecke des Fensters angezeigt. Der Wert für „promptText“ wird dem Benutzer angezeigt. Der Parameter "value" ist ein out-Parameter und gibt den Wert zurück, den der Benutzer in das Eingabefeld eingegeben hat.
    Öffentlichkeitstatisch DialogResult InputBox (String-Titel, String promptText, Ref-String-Wert)
    {
    }
  2. Im Inneren des Eingabefeld() -Funktion erstellen Sie die UI-Elemente, die auf dem Formular angezeigt werden.
    Formblatt = Neu Bilden();
    Etikett Etikett = Neu Etikett();
    TextBox TextBox = Neu Textfeld();
    Schaltfläche buttonOk = Neu Taste();
    Schaltfläche Schaltfläche Abbrechen = Neu Taste();
  3. Fügen Sie den Titel des Formulars hinzu, der in der oberen linken Ecke angezeigt wird. Fügen Sie außerdem die Hauptnachricht hinzu, die dem Benutzer über dem Eingabefeld angezeigt wird.
    bilden. Text = Titel;
    Etikett. Text = promptText;
  4. Fügen Sie Werte für die Schaltflächen „Ok“ und „Abbrechen“ hinzu. Die Text-Eigenschaft enthält den Text, der über jeder Schaltfläche angezeigt wird. Die DialogResult-Eigenschaft enthält den Ergebnistyp, den die Schaltfläche darstellt. Mehr über DialogResult erfahren Sie in Offizielle Dokumentation von Microsoft.
    TasteOk. Texte = "OK";
    SchaltflächeAbbrechen. Texte = "Absagen";
    TasteOk. DialogErgebnis = DialogErgebnis. OK;
    SchaltflächeAbbrechen. DialogErgebnis = DialogErgebnis. Absagen;
  5. Verwenden Sie die SetGrenzen() -Methode zum Festlegen der x- und y-Positionen der Beschriftung, des Textfelds und der Schaltflächen im Formular. Sie können auch die Breite und Höhe jedes Elements angeben.
    Etikett.SetGrenzen(36, 36, 372, 13);
    Textfeld.SetGrenzen(36, 86, 700, 20);
    TasteOk.SetGrenzen(228, 160, 160, 60);
    SchaltflächeAbbrechen.SetGrenzen(400, 160, 160, 60);
  6. Konfigurieren Sie einige Eigenschaften für das Dialogfenster selbst. Diese Eigenschaften legen die Formulargröße, Rahmen und Startposition fest. Es steuert auch die Möglichkeit, das Fenster zu minimieren oder zu maximieren oder die Größe der Beschriftung bei Bedarf zu ändern.
    Etikett. AutoGröße = Stimmt;
    bilden. Kundengröße = Neu Größe(796, 307);
    bilden. FormBorderStyle = FormBorderStyle. FixedDialog;
    bilden. StartPosition = FormStartPosition. CenterScreen;
    bilden. MinimierenBox = FALSCH;
    bilden. MaximizeBox = FALSCH;
  7. Fügen Sie dem neuen Formular die UI-Elemente hinzu und legen Sie die Schaltflächen zum Akzeptieren und Abbrechen des Formulars auf die zuvor erstellten Schaltflächenobjekte fest.
    bilden. Kontrollen. AddRange(Neu Control[] { label, textBox, buttonOk, buttonCancel });
    bilden. AcceptButton = buttonOk;
    bilden. CancelButton = buttonAbbrechen;
  8. Zeigen Sie dem Benutzer das neu erstellte Dialogfenster.
    DialogResult dialogResult = Formular. ZeigeDialog();
  9. Speichern Sie den Wert, den der Benutzer in das Textfeld eingegeben hat. Gibt das Ergebnis des Formulars zurück, das entweder „Ok“ oder „Abbrechen“ wäre, basierend auf der Schaltfläche, auf die der Benutzer klickt.
    Wert = Textfeld. Text;
    Rückkehr dialogErgebnis;

So verwenden Sie das Eingabedialogfeld

Um den Eingabedialog zu verwenden, rufen Sie die auf Eingabefeld() Funktion innerhalb der dialogButton_Click() Funktion. Wenn der Benutzer auf die Schaltfläche "Eingabedialogfeld öffnen" klickt, wird das Dialogfeld angezeigt.

  1. Im Inneren des dialogButton_Click() erstellen Sie eine Variable zum Speichern des Werts, den der Benutzer in das Textfeld eingibt. Dieser Wert wird aus dem Ausgangsparameter "value" kommen.
    Zeichenfolgenwert = "";
  2. Zeigen Sie das Dialogfeld an, indem Sie die aufrufen Eingabefeld() Funktion. Überprüfen Sie, ob der Benutzer auf die Schaltfläche „Ok“ klickt, und fügen Sie in diesem Fall Text auf dem Bildschirm hinzu, um dem Benutzer die Antwort anzuzeigen.
    if (EingabeBox("Dialogbox", "Wie heißen Sie?", Ref-Wert) == DialogResult. OK)
    {
    LabelResponseInput. Sichtbar = Stimmt;
    LabelResponseInput. Texte = "Ihren Namen: " + Wert;
    }

So zeigen Sie das Eingabedialog-Popup an

Führen Sie die Anwendung aus und lösen Sie das Dialogfeld aus.

  1. Klicken Sie oben im Visual Studio-Fenster auf die grüne Wiedergabeschaltfläche.
  2. Klick auf das Eingabedialog öffnen Schaltfläche, um das Dialogfeld anzuzeigen.
  3. Geben Sie einen Namen in das Textfeld ein und klicken Sie auf OK Taste. Das Dialogfeld wird geschlossen und zeigt die in das Textfeld eingegebenen Ergebnisse an.
  4. Klick auf das Eingabedialog öffnen erneut, um das Dialogfeld erneut zu öffnen.
  5. Klick auf das Absagen Schaltfläche, um das Dialogfeld zu schließen. Dadurch wird das Dialogfeld geschlossen, ohne dass Aktionen ausgeführt oder die Benutzeroberfläche aktualisiert werden.

Hinzufügen von Inhalt und UI-Elementen zu Ihrer Windows Forms-Anwendung

Sie können Eingabedialogfelder in einer Windows Forms-Anwendung erstellen und sie dem Benutzer anzeigen, wenn bestimmte Ereignisse eintreten. Sie können ein neues Dialogfenster erstellen, indem Sie ein neues Formular erstellen. Sie können ihm dann neue UI-Elemente wie Beschriftungen, Textfelder oder Schaltflächen hinzufügen.

Nachdem der Benutzer die erforderlichen Informationen eingegeben hat, können Sie das Eingabefeld schließen und die eingegebenen Informationen speichern.

Wenn Sie Ihrer Benutzeroberfläche oder Ihrem Dialogfeld weitere Inhalte hinzufügen möchten, erfahren Sie, wie Sie andere Elemente der Benutzeroberfläche hinzufügen. Dazu gehören Elemente wie Formen oder Bilder.