Winforms: een invoerdialoogvenster maken en weergeven

Winforms: een invoerdialoogvenster maken en weergeven

Het is gebruikelijk dat desktop-applicaties dialoogvensters gebruiken bij het opvragen van informatie van de gebruiker. U kunt invoerdialoogvensters maken in een Windows Forms-toepassing door een nieuw venster weer te geven.



U kunt ook UI-elementen toevoegen aan het nieuwe dialoogvenster. Deze omvatten berichten, tekstvakken en de knoppen 'Ok' en 'Annuleren'. Wanneer de gebruiker informatie invoert in het invoervak, kunt u het resultaat opslaan en gebruiken in andere delen van de app.





MAKEUSEVAN VIDEO VAN DE DAG

Een klikfunctie maken om het invoerdialoogvenster te activeren

Het dialoogvenster zou niet altijd zichtbaar moeten zijn. U kunt het dialoogvenster activeren om weer te geven wanneer de gebruiker een actie voltooit, zoals een klik op een knop. U kunt ook meer te weten komen over andere Windows Forms-gebeurtenissen die u kunt gebruiken in een Windows Forms-app.





desktopweerwidget voor Windows 10

Voeg een knop toe aan het canvas en maak een functie die wordt uitgevoerd wanneer de gebruiker op de knop klikt.

  1. Maak een nieuwe Windows Forms-toepassing in Visuele Studio.
  2. Zoek in de Toolbox naar een knop UI-besturingselement.
  3. Klik en sleep een knop naar het canvas.   Gewijzigde eigenschappen van knop op Winforms-canvas
  4. Wijzig in het eigenschappenvenster de eigenschappen van de knop in de volgende nieuwe waarden:
    Naam dialoogKnop
    Maat 400, 100
    Tekst Dialoogvenster Invoer openen
      Label toegevoegd aan het canvas van de Winforms-app
  5. Klik in de Toolbox op een label en sleep het naar het canvas. Plaats het label aan de rechterkant van de knop.
  6. Wijzig in het eigenschappenvenster de eigenschappen van het label in de volgende waarden:
    Naam labelResponseInput
    Zichtbaar niet waar
  7. Dubbelklik op de nieuwe knop Invoerdialoogvenster. Dit genereert een on-click-functie in het code-behind CS-bestand voor de form.
    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
    }

Het invoerdialoogvenster maken

Maak het dialoogvenster in een nieuwe functie. De functie maakt programmatisch een nieuw formulier en voegt er UI-elementen aan toe, inclusief een tekstvak met de knoppen 'Ok' en 'Annuleren'.



  1. Onder de dialogButton_Click() functie, maakt u een nieuwe functie aan die het invoerdialoogvenster zal maken. De parameter 'titel' wordt weergegeven in de linkerbovenhoek van het venster. De waarde voor de 'promptText' wordt weergegeven aan de gebruiker. De parameter 'value' is een out-parameter en retourneert de waarde die de gebruiker in het invoervak ​​heeft ingevoerd.
    public static DialogResult InputBox(string title, string promptText, ref string value) 
    {
    }
  2. Binnen in de Invoerveld() functie, maakt u de UI-elementen die op het formulier worden weergegeven.
    Form form = new Form(); 
    Label label = new Label();
    TextBox textBox = new TextBox();
    Button buttonOk = new Button();
    Button buttonCancel = new Button();
  3. Voeg de titel van het formulier toe, dat in de linkerbovenhoek wordt weergegeven. Voeg ook het hoofdbericht toe dat aan de gebruiker wordt weergegeven, boven het invoervak.
    form.Text = title; 
    label.Text = promptText;
  4. Voeg waarden toe voor de knoppen 'Ok' en 'Annuleren'. De eigenschap text bevat de tekst die bovenaan elke knop wordt weergegeven. De eigenschap DialogResult bevat het type resultaat dat de knop zal vertegenwoordigen. U kunt meer lezen over DialogResult in Officiële documentatie van Microsoft
    buttonOk.Text = "OK"; 
    buttonCancel.Text = "Cancel";
    buttonOk.DialogResult = DialogResult.OK;
    buttonCancel.DialogResult = DialogResult.Cancel;
    .
  5. Gebruik de Grenzen instellen() methode om de x- en y-posities van het label, het tekstvak en de knoppen op het formulier in te stellen. U kunt ook de breedte en hoogte van elk element specificeren.
    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. Configureer enkele eigenschappen voor het dialoogvenster zelf. Deze eigenschappen stellen de formuliergrootte, randen en startpositie in. Het regelt ook de mogelijkheid om het venster te minimaliseren of te maximaliseren, of het formaat van het label te wijzigen indien nodig.
    label.AutoSize = true; 
    form.ClientSize = new Size(796, 307);
    form.FormBorderStyle = FormBorderStyle.FixedDialog;
    form.StartPosition = FormStartPosition.CenterScreen;
    form.MinimizeBox = false;
    form.MaximizeBox = false;
  7. Voeg de UI-elementen toe aan het nieuwe formulier en stel de knoppen voor accepteren en annuleren van het formulier in op de eerder gemaakte knopobjecten.
    form.Controls.AddRange(new Control[] { label, textBox, buttonOk, buttonCancel }); 
    form.AcceptButton = buttonOk;
    form.CancelButton = buttonCancel;
  8. Toon het nieuw gemaakte dialoogvenster aan de gebruiker.
    DialogResult dialogResult = form.ShowDialog();
  9. Sla de waarde op die de gebruiker in het tekstvak heeft ingevoerd. Retourneer het resultaat van het formulier, dat ofwel 'Ok' of 'Annuleren' zou zijn, gebaseerd op de knop waarop de gebruiker klikt.
    value = textBox.Text; 
    return dialogResult;

Het invoerdialoogvenster gebruiken

Om het invoerdialoogvenster te gebruiken, roept u de Invoerveld() functie binnen de dialogButton_Click() functie. Wanneer de gebruiker op de knop 'Invoerdialoogvenster openen' klikt, wordt het dialoogvenster weergegeven.

hoe een harde schijf te formatteren naar fat 32
  1. Binnen in de dialogButton_Click() functie, maakt u een variabele om de waarde op te slaan die de gebruiker in het tekstvak invoert. Deze waarde komt van de 'waarde' out parameter.
    string value = "";
  2. Geef het dialoogvenster weer door de Invoerveld() functie. Controleer of de gebruiker op de knop 'Ok' klikt, en zo ja, voeg wat tekst toe aan het scherm om het antwoord weer te geven aan de gebruiker.
    if (InputBox("Dialog Box", "What is your name?", ref value) == DialogResult.OK) 
    {
    labelResponseInput.Visible = true;
    labelResponseInput.Text = "Your name: " + value;
    }

De pop-up van het invoerdialoogvenster bekijken

Start de applicatie en activeer het dialoogvenster.





  1. Klik op de groene afspeelknop bovenaan het Visual Studio-venster.
  2. Klik op de Dialoogvenster Invoer openen om het dialoogvenster weer te geven.
  3. Voer een naam in het tekstvak in en klik op de Oké knop. Het dialoogvenster wordt gesloten en toont de resultaten die in het tekstvak zijn ingevoerd.
  4. Klik op de Dialoogvenster Invoer openen knop nogmaals om het dialoogvenster opnieuw te openen.
  5. Klik op de Annuleren knop om het dialoogvenster te sluiten. Hierdoor wordt het dialoogvenster geannuleerd zonder enige actie uit te voeren of de gebruikersinterface bij te werken.

Inhoud en UI-elementen toevoegen aan uw Windows Forms-toepassing

U kunt invoerdialoogvensters maken in een Windows Forms-toepassing en deze aan de gebruiker weergeven wanneer bepaalde gebeurtenissen plaatsvinden. U kunt een nieuw dialoogvenster maken door een nieuw formulier te maken. U kunt er vervolgens nieuwe UI-elementen aan toevoegen, zoals labels, tekstvakken of knoppen.

Nadat de gebruiker de vereiste informatie heeft ingevoerd, kunt u het invoervak ​​sluiten en de ingevoerde informatie opslaan.





hoe een film online met vrienden te kijken

Als u meer inhoud aan uw gebruikersinterface of dialoogvenster wilt toevoegen, kunt u onderzoeken hoe u andere gebruikersinterface-elementen kunt toevoegen. Dit omvat elementen zoals vormen of afbeeldingen.