Det er vanlig at skrivebordsapplikasjoner bruker dialogbokser når du ber om informasjon fra brukeren. Du kan opprette inndatadialogbokser i et Windows Forms-program ved å vise et nytt vindu.

Du kan også legge til UI-elementer i det nye dialogvinduet. Disse inkluderer meldinger, tekstbokser og "Ok" og "Avbryt"-knapper. Når brukeren legger inn informasjon i inndataboksen, kan du lagre resultatet og bruke det i andre deler av appen.

Hvordan lage en On-Click-funksjon for å utløse inndatadialogboksen

Dialogboksen skal ikke alltid være synlig. Du kan utløse dialogboksen for å vise når brukeren fullfører en handling, for eksempel et knappeklikk. Du kan også lære mer om andre Windows Forms-hendelser som du kan bruke i en Windows Forms-app.

Legg til en knapp på lerretet og lag en funksjon som kjører når brukeren klikker på knappen.

  1. Lage en ny Windows Forms-applikasjon i Visual Studio.
  2. Søk etter en knapp UI-kontroll i verktøykassen.
  3. Klikk og dra en knapp til lerretet.
  4. I egenskapsvinduet endrer du egenskapene til knappen til følgende nye verdier:
    instagram viewer
    Eiendomsnavn Ny verdi
    Navn dialogknapp
    Størrelse 400, 100
    Tekst Åpne Input Dialog
  5. I verktøykassen klikker du og drar en etikett til lerretet. Plasser etiketten på høyre side av knappen.
  6. I egenskapsvinduet endrer du egenskapene til etiketten til følgende verdier:
    Eiendomsnavn Ny verdi
    Navn labelResponseInput
    Synlig Falsk
  7. Dobbeltklikk på den nye Input Dialog-knappen. Dette vil generere en on-click-funksjon i koden bak CS-filen for skjemaet.
    privattomromdialogButton_Click(objektavsender, EventArgs e)
    {
    // Koden her vil utløses når brukeren klikker på knappen
    // Det vil vise inndatadialogboksen
    }

Hvordan lage inndatadialogboksen

Opprett dialogboksen inne i en ny funksjon. Funksjonen vil programmatisk opprette et nytt skjema, og legge til UI-elementer til det, inkludert en tekstboks med "Ok" og "Avbryt"-knapper.

  1. Under dialogButton_Click() funksjon, oppretter du en ny funksjon som vil opprette Input Dialog-boksen. "Tittel"-parameteren vises i øverste venstre hjørne av vinduet. Verdien for "promptText" vil vises for brukeren. "Verdi"-parameteren er en ut-parameter og vil returnere verdien som brukeren skrev inn i inntastingsboksen.
    offentligstatisk DialogResult InputBox (strengtittel, strengpromptText, ref strengverdi)
    {
    }
  2. Inne i InputBox() funksjon, oppretter du UI-elementene som skal vises på skjemaet.
    Skjemaform = ny Form();
    Etikettetikett = ny Merkelapp();
    Tekstboks tekstboks = ny Tekstboks();
    KnappknappOk = ny Knapp();
    Knappknapp Avbryt = ny Knapp();
  3. Legg til tittelen på skjemaet, som vises i øverste venstre hjørne. Legg også til hovedmeldingen som skal vises til brukeren, over inndataboksen.
    form. Tekst = tittel;
    merkelapp. Tekst = promptTekst;
  4. Legg til verdier for "Ok" og "Avbryt"-knappene. Tekstegenskapen inneholder teksten som vises på toppen av hver knapp. DialogResult-egenskapen inneholder typen resultat knappen vil representere. Du kan lese mer om DialogResult i Microsofts offisielle dokumentasjon.
    knapp Ok. Tekst = "OK";
    knappen Avbryt. Tekst = "Avbryt";
    knapp Ok. DialogResult = DialogResult. OK;
    knappen Avbryt. DialogResult = DialogResult. Avbryt;
  5. Bruke SetBounds() metode for å angi x- og y-posisjonene til etiketten, tekstboksen og knappene på skjemaet. Du kan også spesifisere hvert elements bredde og høyde.
    merkelapp.SetBounds(36, 36, 372, 13);
    tekstboks.SetBounds(36, 86, 700, 20);
    knapp Ok.SetBounds(228, 160, 160, 60);
    knappen Avbryt.SetBounds(400, 160, 160, 60);
  6. Konfigurer noen egenskaper for selve dialogvinduet. Disse egenskapene angir skjemastørrelse, kantlinjer og startposisjon. Den kontrollerer også muligheten til å minimere eller maksimere vinduet, eller endre størrelsen på etiketten om nødvendig.
    merkelapp. AutoSize = ekte;
    form. Klientstørrelse = ny Størrelse(796, 307);
    form. FormBorderStyle = FormBorderStyle. FixedDialog;
    form. StartPosition = FormStartPosition. CenterScreen;
    form. MinimizeBox = falsk;
    form. MaximizeBox = falsk;
  7. Legg til UI-elementene i det nye skjemaet, og sett skjemaets godta- og avbryt-knapper til knappeobjektene opprettet tidligere.
    form. Kontroller. AddRange(ny Kontroll[] { label, textBox, buttonOk, buttonCancel });
    form. AcceptButton = buttonOk;
    form. CancelButton = buttonCancel;
  8. Vis det nyopprettede dialogvinduet til brukeren.
    DialogResult dialogResult = form. VisDialog();
  9. Lagre verdien som brukeren skrev inn i tekstboksen. Returner resultatet av skjemaet, som enten vil være "Ok" eller "Avbryt", basert på knappen brukeren klikker på.
    verdi = tekstboks. Tekst;
    komme tilbake dialogResultat;

Hvordan bruke inndatadialogboksen

For å bruke inndatadialogboksen, ring InputBox() funksjon inne i dialogButton_Click() funksjon. Når brukeren klikker på "Åpne Input Dialog"-knappen, vil den vise dialogboksen.

  1. Inne i dialogButton_Click() funksjon, opprette en variabel for å lagre verdien som brukeren skriver inn i tekstboksen. Denne verdien kommer fra "verdi" ut-parameteren.
    strengverdi = "";
  2. Vis dialogboksen ved å ringe InputBox() funksjon. Sjekk om brukeren klikker på "Ok"-knappen, og i så fall legg til litt tekst på skjermen for å vise svaret tilbake til brukeren.
    if (InputBox("Dialogboks", "Hva heter du?", ref verdi) == DialogResult. OK)
    {
    labelResponseInput. Synlig = ekte;
    labelResponseInput. Tekst = "Navnet ditt: " + verdi;
    }

Slik viser du popup-vinduet for inndata

Kjør programmet og utløs dialogboksen.

  1. Klikk på den grønne avspillingsknappen øverst i Visual Studio-vinduet.
  2. Klikk på Åpne Input Dialog for å vise dialogboksen.
  3. Skriv inn et navn i tekstboksen og klikk på OK knapp. Dialogboksen lukkes og viser resultatene som er lagt inn i tekstboksen.
  4. Klikk på Åpne Input Dialog knappen igjen for å åpne dialogboksen på nytt.
  5. Klikk på Avbryt for å lukke dialogboksen. Dette avbryter dialogboksen uten å fullføre noen handlinger eller oppdatere brukergrensesnittet.

Legge til innhold og UI-elementer til Windows Forms-applikasjonen

Du kan opprette input-dialogbokser i et Windows Forms-program og vise dem til brukeren når visse hendelser skjer. Du kan opprette et nytt dialogvindu ved å opprette et nytt skjema. Du kan deretter legge til nye brukergrensesnittelementer til den, for eksempel etiketter, tekstbokser eller knapper.

Når brukeren har lagt inn den nødvendige informasjonen, kan du lukke inntastingsboksen og lagre informasjonen de har skrevet inn.

Hvis du vil legge til mer innhold i brukergrensesnittet eller dialogboksen, kan du utforske hvordan du legger til andre brukergrensesnittelementer. Dette inkluderer elementer som former eller bilder.