Ricerca…


Pulsante

I pulsanti sono uno dei controlli più semplici e vengono principalmente utilizzati per eseguire codice quando l'utente lo desidera.

Qui abbiamo un caso davvero semplice, mostra una finestra di messaggio quando fai clic su un pulsante. Aggiungiamo un pulsante a un modulo, lo cmdShowMessage come usato nel codice per identificare l'oggetto e impostare il testo dei pulsanti su Mostra messaggio.

inserisci la descrizione dell'immagine qui

Abbiamo solo bisogno di fare doppio clic sul pulsante sul visual designer e Visual Studio genererà il codice per l'evento click. Ora abbiamo solo bisogno di aggiungere il codice per MessageBox lì:

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

Se eseguiamo il programma ora e clicchiamo sul pulsante vedremo apparire il messaggio:

inserisci la descrizione dell'immagine qui

Casella di testo

I TextBox consentono all'utente di inserire dati nel programma.

Stiamo andando a modificare il modulo e aggiungere una casella di testo in modo che la messagebox ci mostri il messaggio che l'utente desidera. Ora la nostra forma assomiglia a:

inserisci la descrizione dell'immagine qui

E poi modifica l'evento click del pulsante per usare il testo della textbox:

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

Come puoi vedere stiamo usando la proprietà .Text della Textbox che è il testo contenuto nella texbox.

Se eseguiamo il programma, saremo in grado di scrivere nella casella di testo. Quando clicchiamo sul pulsante, MessageBox mostrerà il testo che abbiamo scritto:

inserisci la descrizione dell'immagine qui

Casella combinata

I ComboBox consentono all'utente di scegliere una delle varie opzioni fornite dallo sviluppatore.

Stiamo andando a modificare il modulo e aggiungere una casella combinata in modo che la messagebox ci mostri il messaggio che l'utente desidera da un elenco che forniremo.

Dopo aver aggiunto la combinazione al modulo, ora aggiungiamo un elenco di opzioni alla combo. Per fare ciò dobbiamo modificare la proprietà Items :

inserisci la descrizione dell'immagine qui

Ora dobbiamo modificare il codice dell'evento click:

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

Come puoi vedere usiamo la proprietà SelectedItem , contiene l'oggetto dell'opzione selezionata. Poiché abbiamo bisogno di una stringa da mostrare e il compilatore non sa se l'oggetto è o non è una stringa, dobbiamo usare il metodo ToString() .

Se eseguiremo il programma, saremo in grado di scegliere l'opzione che preferiamo e quando clicchiamo sul pulsante la finestra del messaggio lo mostrerà:

inserisci la descrizione dell'immagine qui

Per ricevere una notifica quando un utente seleziona un elemento dalla casella combinata, utilizzare l'evento SelectionChangeCommitted . Potremmo utilizzare l'evento SelectedIndexChanged , ma questo viene sollevato anche quando modifichiamo a livello di codice l'elemento selezionato nella casella combinata.

CheckBox

Checkbox è un controllo che consente all'utente di ottenere valori boolean dall'utente per una domanda spesificata come "Stai bene?" .

Ha un evento chiamato CheckedChanged , che si verifica ogni volta che la proprietà di check viene modificata.

Ecco un CheckBox che ha una domanda "È verificato?" .

inserisci la descrizione dell'immagine qui

Abbiamo ricevuto questo MessageBox dall'evento CheckedChanged ,

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

Se CheckBox è selezionato -> IsChecked variabile IsChecked sarà true .

Se CheckBox non è selezionato -> IsChecked variabile IsChecked sarà false .

ListBox

Listbox è un controllo che può contenere una raccolta di oggetti. Listbox è simile a Combobox ma in Combobox ; Solo gli elementi selezionati sono visibili all'utente. In Listbox ; tutti gli articoli sono visibili all'utente.

Come aggiungere elementi a ListBox?

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);
        }

Uscita ;

Risultato

Oppure possono essere fornite datasources dati

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

Produzione;

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";
        }

L' uscita corretta ;

inserisci la descrizione dell'immagine qui

È necessario ValueMember dati sql esterna a listbox, ValueMember e DisplayMember

Se NON sarà così,

inserisci la descrizione dell'immagine qui

Eventi utili;

SelectedIndex_Changed;

Definire una lista per dare origine dati

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

Alla progettazione del modulo seleziona Listbox e premi F4 o fai clic con il pulsante destro sull'icona lightining.

inserisci la descrizione dell'immagine qui

Visual Studio genererà listBox1_SelectedIndexChanged su codebehind.

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

Risultato di SelectedIndex_Changed ; (l'etichetta in basso mostrerà l'indice di ciascun articolo selezionato)

inserisci la descrizione dell'immagine qui

SelectedValue_Changed; (L'origine dati è la stessa in alto e puoi generare questo evento come SelectedIndex_Changed)

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

Uscita ;

inserisci la descrizione dell'immagine qui

NumericUpDown

NumericUpDown è un controllo simile a TextBox. Questo controllo consente all'utente di visualizzare / selezionare il numero da un intervallo. Le frecce Su e Giù stanno aggiornando il valore della casella di testo.

Il controllo assomiglia;

inserisci la descrizione dell'immagine qui

In Form_Load intervallo può essere impostato.

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

Produzione;

inserisci la descrizione dell'immagine qui

UpDownAlign imposterà la posizione delle frecce;

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

Produzione;

inserisci la descrizione dell'immagine qui

Metodo UpButton() aumenta il numero del controllo. (può essere chiamato da qualsiasi luogo. Ho usato un button per chiamarlo.)

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

**Produzione

inserisci la descrizione dell'immagine qui

Metodo DownButton() diminuisce il numero del controllo. (può essere chiamato da qualsiasi luogo. Ho usato un button per chiamarlo di nuovo.)

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

Produzione;

inserisci la descrizione dell'immagine qui

Eventi utili


ValueChanged;

Quell'evento funzionerà quando si fa clic sulla freccia Su o Giù.

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.
            }
        }

Uscita ;

inserisci la descrizione dell'immagine qui



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow