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.

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.

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. instagram viewer
  3. Zoek in de Toolbox naar een knop UI-besturingselement.
  4. Klik en sleep een knop naar het canvas.
  5. Wijzig in het eigenschappenvenster de eigenschappen van de knop in de volgende nieuwe waarden:
    Eigendomsnaam Nieuwe waarde
    Naam dialoogKnop
    Maat 400, 100
    Tekst Dialoogvenster Invoer openen
  6. Klik in de Toolbox op een label en sleep het naar het canvas. Plaats het label aan de rechterkant van de knop.
  7. Wijzig in het eigenschappenvenster de eigenschappen van het label in de volgende waarden:
    Eigendomsnaam Nieuwe waarde
    Naam labelResponseInput
    Zichtbaar niet waar
  8. Dubbelklik op de nieuwe knop Invoerdialoogvenster. Dit genereert een on-click-functie in het code-behind CS-bestand voor het formulier.
    privaatleegtedialogButton_Click(object afzender, EventArgs e)
    {
    // De code hier wordt geactiveerd wanneer de gebruiker op de knop klikt
    // Het zal het invoerdialoogvenster weergeven
    }

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 "waarde" is een out-parameter en retourneert de waarde die de gebruiker in het invoervak ​​heeft ingevoerd.
    openbaarstatisch DialogResult InputBox (tekenreekstitel, tekenreeks promptText, ref tekenreekswaarde)
    {
    }
  2. Binnen in de Invoerveld() functie, maakt u de UI-elementen die op het formulier worden weergegeven.
    Vorm vorm = nieuwe Het formulier();
    Labellabel = nieuwe Label();
    Tekstvak tekstvak = nieuwe Tekstveld();
    Knop knopOk = nieuwe Knop();
    Knop knopAnnuleren = nieuwe Knop();
  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.
    het formulier. Tekst = titel;
    label. Tekst = promptTekst;
  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.
    knopOk. Tekst = "Oké";
    knopAnnuleren. Tekst = "Annuleren";
    knopOk. DialogResult = DialogResult. OKÉ;
    knopAnnuleren. DialogResult = DialogResult. Annuleren;
  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 opgeven.
    label.Bounds instellen(36, 36, 372, 13);
    tekstveld.Bounds instellen(36, 86, 700, 20);
    knopOk.Bounds instellen(228, 160, 160, 60);
    knop Annuleren.Bounds instellen(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 = WAAR;
    het formulier. Klantgrootte = nieuwe Maat(796, 307);
    het formulier. FormBorderStyle = FormBorderStyle. Vast dialoogvenster;
    het formulier. StartPosition = FormStartPosition. Middenscherm;
    het formulier. MinimaliseerBox = vals;
    het formulier. MaximizeBox = vals;
  7. Voeg de UI-elementen toe aan het nieuwe formulier en stel de knoppen voor accepteren en annuleren van het formulier in op de knopobjecten die eerder zijn gemaakt.
    het formulier. Controles. AddBereik(nieuwe Control[] { label, textBox, buttonOk, buttonCancel });
    het formulier. AcceptButton = knopOk;
    het formulier. AnnulerenKnop = knopAnnuleren;
  8. Toon het nieuw gemaakte dialoogvenster aan de gebruiker.
    DialogResult dialogResult = formulier. 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.
    waarde = tekstvak. Tekst;
    opbrengst dialoogResultaat;

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.

  1. Binnen in de dialogButton_Click() functie, maak een variabele om de waarde op te slaan die de gebruiker in het tekstvak invoert. Deze waarde komt van de "waarde" out parameter.
    tekenreekswaarde = "";
  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 aan de gebruiker weer te geven.
    if (InvoerBox("Dialoog venster", "Wat is jouw naam?", ref waarde) == DialogResult. OKÉ)
    {
    labelResponseInput. Zichtbaar = WAAR;
    labelResponseInput. Tekst = "Uw naam: " + waarde;
    }

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 geeft de resultaten weer 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.

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.