winforms
Contrôles de base
Recherche…
Bouton
Les boutons sont l'un des contrôles les plus simples et surtout utilisés pour exécuter du code lorsque l'utilisateur le souhaite.
Ici, nous avons un cas très simple, afficher une boîte de message quand un bouton est cliqué. Nous ajoutons un bouton à un formulaire, nommez-le cmdShowMessage
tel qu'utilisé dans le code pour identifier l'objet et définissez le texte des boutons sur Afficher le message.
Il suffit de double-cliquer sur le bouton du concepteur visuel et Visual Studio générera le code du clic d'événement. Il ne reste plus qu'à ajouter le code de la MessageBox:
private void cmdShowMessage_Click(object sender, EventArgs e)
{
MessageBox.Show("Hello world!");
}
Si nous exécutons le programme maintenant et cliquez sur le bouton, le message apparaîtra:
Zone de texte
Les TextBox permettent à l'utilisateur d'entrer des données dans le programme.
Nous allons modifier le formulaire et ajouter une zone de texte afin que le messagebox affiche le message souhaité par l'utilisateur. Maintenant, notre formulaire ressemble à:
Et puis modifiez l'événement clic de bouton pour utiliser le texte de la zone de texte:
private void cmdShowMessage_Click(object sender, EventArgs e)
{
string UserText = txtUserMessage.Text;
MessageBox.Show(UserText);
}
Comme vous pouvez le voir, nous utilisons la propriété .Text
de la zone de texte qui est le texte contenu dans la texbox.
Si nous exécutons le programme, nous pourrons écrire dans la zone de texte. Lorsque nous cliquons sur le bouton, la MessageBox affiche le texte que nous avons écrit:
Boîte combo
ComboBoxes permettent à l'utilisateur de choisir l'une des différentes options fournies par le développeur.
Nous allons modifier le formulaire et ajouter une liste déroulante afin que le messagebox affiche le message que l'utilisateur souhaite recevoir dans une liste que nous allons fournir.
Après avoir ajouté le combo au formulaire, nous ajoutons maintenant une liste d'options au combo. Pour ce faire, nous devons modifier la propriété Items
:
Maintenant, nous devons modifier le code de l'événement click:
private void cmdShowMessage_Click(object sender, EventArgs e)
{
string OptionText = cboSelectOption.SelectedItem.ToString();
MessageBox.Show(OptionText);
}
Comme vous pouvez le voir, nous utilisons la propriété SelectedItem
, elle contient l'objet de l'option sélectionnée. Comme nous avons besoin d'une chaîne à afficher et que le compilateur ne sait pas si l'objet est ou non une chaîne, nous devons utiliser la méthode ToString()
.
Si nous exécutons le programme, nous serons en mesure de choisir l'option que nous préférons et lorsque nous cliquons sur le bouton, la boîte de message l'affichera:
Pour être averti lorsqu'un utilisateur sélectionne un élément de la liste déroulante, utilisez l'événement SelectionChangeCommitted
. Nous pourrions utiliser l'événement SelectedIndexChanged
, mais cela se produit également lorsque nous modifions par programme l'élément de sélection dans la liste déroulante.
CheckBox
Checkbox est un contrôle qui permet à l'utilisateur d'obtenir boolean
valeurs boolean
de l'utilisateur pour une question spécifique telle que "Êtes-vous d'accord?" .
A un événement appelé CheckedChanged
, qui se produit chaque fois que la propriété check
est modifiée.
Voici un CheckBox qui a une question "Est-ce vérifié?" .
Nous avons eu cet événement MessageBox
from CheckedChanged
,
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
bool IsChecked = checkBox1.Checked;
MessageBox.Show(IsChecked.ToString());
}
Si CheckBox est coché -> la variable IsChecked
sera true
.
Si CheckBox n'est pas coché -> la variable IsChecked
sera false
.
ListBox
Listbox
est un contrôle pouvant contenir une collection d'objets. Listbox
est similaire à Combobox
mais dans Combobox
; Seuls les éléments sélectionnés sont visibles pour l'utilisateur. Dans la Listbox
tous les éléments sont visibles pour l'utilisateur.
Comment ajouter des éléments à 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);
}
Sortie ;
Ou des datasources
peuvent être données,
private void Form3_Load(object sender, EventArgs e)
{
List<string> TestList = new List<string> { "test1", "test2", "test3", "44", "55" };
listBox1.DataSource = TestList;
}
Sortie;
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";
}
La sortie correcte ;
Donner une source de données sql externe à la listbox requise, ValueMember
et DisplayMember
Si ce n'est pas le cas,
Événements utiles
SelectedIndex_Changed;
Définir une liste pour donner une source de données
private void Form3_Load(object sender, EventArgs e)
{
List<string> DataList = new List<string> {"test1" , "test2" , "test3" , "44" , "45" };
listBox1.DataSource = TestList;
}
À la conception du formulaire, sélectionnez Listbox
et appuyez sur F4 ou à droite, cliquez sur l'icône lightining.
Visual Studio va générer listBox1_SelectedIndexChanged
à codebehind.
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
int Index = listBox1.SelectedIndex;
label1.Text = Index.ToString();
}
Résultat de SelectedIndex_Changed
; (l'étiquette en bas indiquera l'index de chaque article sélectionné)
SelectedValue_Changed; (La source de données est identique à celle du haut et vous pouvez générer cet événement comme SelectedIndex_Changed)
private void listBox1_SelectedValueChanged(object sender, EventArgs e)
{
label1.Text = listBox1.SelectedValue.ToString();
}
Sortie ;
NumericUpDown
NumericUpDown est un contrôle qui ressemble à TextBox. Ce contrôle permet à l'utilisateur d'afficher / sélectionner un numéro dans une plage. Les flèches vers le haut et vers le bas mettent à jour la valeur de la zone de texte.
Le contrôle ressemble à;
Dans Form_Load
plage peut être définie.
private void Form3_Load(object sender, EventArgs e)
{
numericUpDown1.Maximum = 10;
numericUpDown1.Minimum = -10;
}
Sortie;
UpDownAlign définira la position des flèches;
private void Form3_Load(object sender, EventArgs e)
{
numericUpDown1.UpDownAlign = LeftRightAlignment.Left;
}
Sortie;
UpButton()
méthode UpButton()
augmente le nombre du contrôle. (peut être appelé de n'importe où. J'ai utilisé un button
pour l'appeler.)
private void button1_Click(object sender, EventArgs e)
{
numericUpDown1.UpButton();
}
**Sortie
DownButton()
méthode diminue le nombre du contrôle. (peut être appelé de n'importe où. J'ai utilisé un button
pour l'appeler à nouveau.)
private void button2_Click(object sender, EventArgs e)
{
numericUpDown1.DownButton();
}
Sortie;
Événements utiles
ValueChanged;
Cet événement fonctionnera lorsque la flèche haut ou bas sera cliquée.
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.
}
}
Sortie ;