Zoeken…


Knop

Knoppen zijn een van de eenvoudigste bedieningselementen en worden meestal gebruikt om code uit te voeren wanneer de gebruiker dat wil.

Hier hebben we een heel eenvoudig geval, tonen een berichtenvak wanneer op een knop wordt geklikt. We voegen een knop toe aan een formulier, noemen het cmdShowMessage zoals gebruikt in de code om het object te identificeren en stellen de tekst van de knop in op Bericht weergeven.

voer hier de afbeeldingsbeschrijving in

We hoeven alleen maar te dubbelklikken op de knop op de visuele ontwerper en Visual Studio genereert de code voor de klikgebeurtenis. Nu moeten we alleen de code voor de MessageBox toevoegen:

private void cmdShowMessage_Click(object sender, EventArgs e)
{
  MessageBox.Show("Hello world!");
}

Als we het programma nu uitvoeren en op de knop klikken, wordt het bericht weergegeven:

voer hier de afbeeldingsbeschrijving in

Tekstveld

Met tekstboxen kan de gebruiker gegevens in het programma invoeren.

We gaan het formulier wijzigen en een tekstvak toevoegen zodat het berichtenvak ons het bericht laat zien dat de gebruiker wil. Nu ziet ons formulier eruit als:

voer hier de afbeeldingsbeschrijving in

En wijzig vervolgens de knopklikgebeurtenis om de tekst van het tekstvak te gebruiken:

private void cmdShowMessage_Click(object sender, EventArgs e)
{
  string UserText = txtUserMessage.Text;
  MessageBox.Show(UserText);
}

Zoals u kunt zien, gebruiken we de eigenschap .Text van het tekstvak, de tekst in het tekstvak.

Als we het programma uitvoeren, kunnen we in het tekstvak schrijven. Wanneer we op de knop klikken, toont de MessageBox de tekst die we hebben geschreven:

voer hier de afbeeldingsbeschrijving in

ComboBox

Met ComboBoxen kan de gebruiker een van de verschillende opties kiezen die door de ontwikkelaar worden geboden.

We gaan het formulier wijzigen en een combobox toevoegen, zodat de berichtenbox ons het bericht toont dat de gebruiker wil uit een lijst die we zullen verstrekken.

Na het toevoegen van de combo aan het formulier voegen we nu een lijst met opties toe aan de combo. Om dit te doen moeten we de Items eigenschap wijzigen:

voer hier de afbeeldingsbeschrijving in

Nu moeten we de code van de click-gebeurtenis wijzigen:

private void cmdShowMessage_Click(object sender, EventArgs e)
{
  string OptionText = cboSelectOption.SelectedItem.ToString();
  MessageBox.Show(OptionText);
}

Zoals u kunt zien, gebruiken we de eigenschap SelectedItem , deze bevat het object van de geselecteerde optie. Omdat we een tekenreeks nodig hebben om te tonen en de compiler niet weet of het object een tekenreeks is of niet, moeten we de methode ToString() gebruiken.

Als we het programma uitvoeren, kunnen we de gewenste optie kiezen en wanneer we op de knop klikken, wordt dit in het berichtvenster weergegeven:

voer hier de afbeeldingsbeschrijving in

Gebruik de gebeurtenis SelectionChangeCommitted om een melding te ontvangen wanneer een gebruiker een item uit de combobox selecteert. We zouden de gebeurtenis SelectedIndexChanged kunnen gebruiken, maar dit wordt ook naar voren gebracht als we het geselecteerde item in de combobox programmatisch wijzigen.

CheckBox

Selectievakje is een besturingselement waarmee de gebruiker boolean waarden van de gebruiker kan krijgen voor een specifieke vraag als "Gaat het?" .

Heeft een gebeurtenis met de naam CheckedChanged , die optreedt wanneer de eigenschap check wordt gewijzigd.

Hier is een CheckBox met de vraag "Is aangevinkt?" .

voer hier de afbeeldingsbeschrijving in

We hebben deze MessageBox van het evenement CheckedChanged ,

private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
            bool IsChecked = checkBox1.Checked; 
            MessageBox.Show(IsChecked.ToString());
        }

Als CheckBox is aangevinkt, is de variabele IsChecked true .

Als CheckBox niet is aangevinkt, is de variabele IsChecked false .

Keuzelijst

Listbox is een besturingselement dat een verzameling objecten kan bevatten. Listbox is vergelijkbaar met Combobox maar in Combobox ; Alleen geselecteerde items zijn zichtbaar voor de gebruiker. In Listbox ; alle items zijn zichtbaar voor de gebruiker.

Hoe items aan ListBox toe te voegen?

private void Form3_Load(object sender, EventArgs e)
        {
            string test = "Trial";
            string test2 = "45";
            int numberTest = 43;
            decimal decimalTest = 130;
            
            listBox1.Items.Add(test);
            listBox1.Items.Add(test2);
            listBox1.Items.Add(numberTest);
            listBox1.Items.Add(decimalTest);
        }

Uitgang ;

Resultaat

Of datasources kunnen worden gegeven,

private void Form3_Load(object sender, EventArgs e)
        {
            List<string> TestList = new List<string> { "test1", "test2", "test3", "44", "55" };
            listBox1.DataSource = TestList;
        }

Output;

result2

private void Form3_Load(object sender, EventArgs e)
        {
            SqlConnection Connection = new SqlConnection("Server=serverName;Database=db;Trusted_Connection=True;"); //Connetion to MS-SQL(RDBMS)
            Connection.Open(); //Connection open
            SqlDataAdapter Adapter = new SqlDataAdapter("Select * From TestTable", Connection); // Get all records from TestTable.
            DataTable DT = new DataTable();
            Adapter.Fill(DT); // Fill records to DataTable.
            listBox1.DataSource = DT; // DataTable is the datasource.
            listBox1.ValueMember = "TestID"; 
            listBox1.DisplayMember= "TestName";
        }

De juiste output ;

voer hier de afbeeldingsbeschrijving in

Het geven van een externe sql-gegevensbron aan listbox vereist ValueMember en DisplayMember

Zo NIET , dan ziet het er zo uit,

voer hier de afbeeldingsbeschrijving in

Handige evenementen;

SelectedIndex_Changed;

Definieer een lijst om gegevensbron te geven

private void Form3_Load(object sender, EventArgs e)
        {
            List<string> DataList = new List<string> {"test1" , "test2" , "test3" , "44" , "45" };
            listBox1.DataSource = TestList;
        }

Selecteer Listbox het ontwerp van het formulier Listbox en druk op F4 of klik aan de rechterkant op het verlichte pictogram.

voer hier de afbeeldingsbeschrijving in

Visual Studio genereert listBox1_SelectedIndexChanged naar listBox1_SelectedIndexChanged .

 private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            int Index = listBox1.SelectedIndex;
            label1.Text = Index.ToString();
        }

Resultaat van SelectedIndex_Changed ; (label onderaan toont de index van elk geselecteerd item)

voer hier de afbeeldingsbeschrijving in

SelectedValue_Changed; (De gegevensbron is hetzelfde als bovenaan en u kunt deze gebeurtenis genereren zoals SelectedIndex_Changed)

private void listBox1_SelectedValueChanged(object sender, EventArgs e)
        {
            label1.Text = listBox1.SelectedValue.ToString();
        }

Uitgang ;

voer hier de afbeeldingsbeschrijving in

NumericUpDown

NumericUpDown is controle die eruit ziet als TextBox. Met deze besturing kan de gebruiker een nummer uit een bereik weergeven / selecteren. Pijlen omhoog en omlaag werken de waarde van het tekstvak bij.

Besturing ziet eruit als;

voer hier de afbeeldingsbeschrijving in

In Form_Load kan een bereik worden ingesteld.

private void Form3_Load(object sender, EventArgs e)
    {
        numericUpDown1.Maximum = 10;
        numericUpDown1.Minimum = -10; 
    }

Output;

voer hier de afbeeldingsbeschrijving in

UpDownAlign stelt de positie van pijlen in;

 private void Form3_Load(object sender, EventArgs e)
        {
            numericUpDown1.UpDownAlign = LeftRightAlignment.Left;
            
        }

Output;

voer hier de afbeeldingsbeschrijving in

UpButton() Methode verhoogt het nummer van het besturingselement. (kan overal worden opgeroepen. Ik gebruikte een button om het te bellen.)

private void button1_Click(object sender, EventArgs e)
        {
            numericUpDown1.UpButton();
        }

** Output

voer hier de afbeeldingsbeschrijving in

DownButton() Methode verlaagt het nummer van het besturingselement. (kan overal worden opgeroepen. Ik gebruikte een button om het opnieuw te bellen.)

 private void button2_Click(object sender, EventArgs e)
        {
            numericUpDown1.DownButton();
        }

Output;

voer hier de afbeeldingsbeschrijving in

Handige evenementen


ValueChanged;

Die gebeurtenis zal werken wanneer op de pijl omhoog of omlaag wordt geklikt.

private void numericUpDown1_ValueChanged(object sender, EventArgs e)
        {
            decimal result = numericUpDown1.Value; // it will get the current value
            if (result == numericUpDown1.Maximum) // if value equals Maximum value that we set in Form_Load.
            {
                label1.Text = result.ToString() + " MAX!"; // it will add "MAX" at the end of the label 
            }
            else if (result == numericUpDown1.Minimum) //  if value equals Minimum value that we set in Form_Load.
            {
                label1.Text = result.ToString() + " MIN!"; // it will add "MIN" at the end of the label 
            }
            else
            {
                label1.Text = result.ToString(); // If Not Max or Min, it will show only the number.
            }
        }

Uitgang ;

voer hier de afbeeldingsbeschrijving in



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow