Winforms: Erstellen und Anzeigen eines Eingabedialogfelds

Winforms: Erstellen und Anzeigen eines Eingabedialogfelds

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.





MAKEUSEOF VIDEO DES TAGES

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.





was bedeutet emoji beim texten?

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.

  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.   Geänderte Eigenschaften der Schaltfläche auf der Winforms-Leinwand
  4. Ändern Sie im Eigenschaftenfenster die Eigenschaften der Schaltfläche auf die folgenden neuen Werte:
    Name dialogButton
    Größe 400, 100
    Text Eingabedialog öffnen
      Beschriftung zur Winforms-App-Leinwand hinzugefügt
  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 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
    private void dialogButton_Click(object sender, EventArgs e) 
    {
    // The code here will trigger when the user clicks on the button
    // It will display the input dialog box
    }
    generiert

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 'Wert'-Parameter ist ein Ausgangsparameter und gibt den Wert zurück, den der Benutzer in das Eingabefeld eingegeben hat.
    public static DialogResult InputBox(string title, string promptText, ref string value) 
    {
    }
  2. Im Inneren des Eingabefeld() -Funktion erstellen Sie die UI-Elemente, die auf dem Formular angezeigt werden.
    Form form = new Form(); 
    Label label = new Label();
    TextBox textBox = new TextBox();
    Button buttonOk = new Button();
    Button buttonCancel = new Button();
  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.
    form.Text = title; 
    label.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
    buttonOk.Text = "OK"; 
    buttonCancel.Text = "Cancel";
    buttonOk.DialogResult = DialogResult.OK;
    buttonCancel.DialogResult = DialogResult.Cancel;
    .
  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.
    label.SetBounds(36, 36, 372, 13); 
    textBox.SetBounds(36, 86, 700, 20);
    buttonOk.SetBounds(228, 160, 160, 60);
    buttonCancel.SetBounds(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 bei Bedarf die Größe der Bezeichnung zu ändern.
    label.AutoSize = true; 
    form.ClientSize = new Size(796, 307);
    form.FormBorderStyle = FormBorderStyle.FixedDialog;
    form.StartPosition = FormStartPosition.CenterScreen;
    form.MinimizeBox = false;
    form.MaximizeBox = false;
  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.
    form.Controls.AddRange(new Control[] { label, textBox, buttonOk, buttonCancel }); 
    form.AcceptButton = buttonOk;
    form.CancelButton = buttonCancel;
  8. Zeigen Sie dem Benutzer das neu erstellte Dialogfenster.
    DialogResult dialogResult = form.ShowDialog();
  9. Speichern Sie den Wert, den der Benutzer in das Textfeld eingegeben hat. Geben Sie das Ergebnis des Formulars zurück, das entweder „Ok“ oder „Abbrechen“ wäre, basierend auf der Schaltfläche, auf die der Benutzer klickt.
    value = textBox.Text; 
    return dialogResult;

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 kommt aus dem Ausgangsparameter 'value'.
    string value = "";
  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 gegebenenfalls Text auf dem Bildschirm hinzu, um die Antwort für den Benutzer anzuzeigen.
    if (InputBox("Dialog Box", "What is your name?", ref value) == DialogResult.OK) 
    {
    labelResponseInput.Visible = true;
    labelResponseInput.Text = "Your name: " + value;
    }

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.