winforms
Grundlegende Bedienelemente
Suche…
Taste
Schaltflächen sind eines der einfachsten Steuerelemente und werden hauptsächlich zum Ausführen von Code verwendet, wenn der Benutzer dies wünscht.
Hier haben wir einen sehr einfachen Fall, zeigen Sie ein Meldungsfeld an, wenn Sie auf eine Schaltfläche klicken. Wir fügen einem Formular eine Schaltfläche hinzu, nennen es cmdShowMessage
wie es im Code verwendet wird, um das Objekt zu identifizieren, und setzen den Text der Schaltfläche auf "Nachricht cmdShowMessage
.
Wir müssen nur die Schaltfläche im visuellen Designer doppelklicken, und Visual Studio generiert den Code für das Klickereignis. Jetzt müssen wir nur noch den Code für die MessageBox dort hinzufügen:
private void cmdShowMessage_Click(object sender, EventArgs e)
{
MessageBox.Show("Hello world!");
}
Wenn wir das Programm jetzt ausführen und auf die Schaltfläche klicken, wird die folgende Meldung angezeigt:
Textfeld
TextBoxen erlauben dem Benutzer, Daten in das Programm einzugeben.
Wir werden das Formular ändern und ein Textfeld hinzufügen, sodass das Meldungsfeld uns die vom Benutzer gewünschte Nachricht anzeigt. Nun sieht unser Formular so aus:
Ändern Sie dann das Schaltflächenklickereignis, um den Text des Textfelds zu verwenden:
private void cmdShowMessage_Click(object sender, EventArgs e)
{
string UserText = txtUserMessage.Text;
MessageBox.Show(UserText);
}
Wie Sie sehen, verwenden wir die .Text
Eigenschaft des Textfelds, das den in der Texbox enthaltenen Text darstellt.
Wenn wir das Programm ausführen, können wir in das Textfeld schreiben. Wenn wir auf die Schaltfläche klicken, zeigt die MessageBox den von uns geschriebenen Text an:
Kombinationsfeld
ComboBoxes ermöglichen dem Benutzer die Auswahl einer der verschiedenen vom Entwickler bereitgestellten Optionen.
Wir werden das Formular ändern und eine Combobox hinzufügen, so dass uns in der Messagebox die Nachricht angezeigt wird, die der Benutzer aus einer von uns gewünschten Liste möchte.
Nachdem Sie die Kombination zum Formular hinzugefügt haben, fügen Sie der Liste nun eine Liste mit Optionen hinzu. Dazu müssen wir die Items
Eigenschaft ändern:
Nun müssen wir den Code des Click-Events ändern:
private void cmdShowMessage_Click(object sender, EventArgs e)
{
string OptionText = cboSelectOption.SelectedItem.ToString();
MessageBox.Show(OptionText);
}
Wie Sie sehen, verwenden wir die SelectedItem
Eigenschaft. Sie enthält das Objekt der ausgewählten Option. Da wir einen String zum ToString()
benötigen und der Compiler nicht weiß, ob das Objekt ein String ist oder nicht, müssen wir die ToString()
Methode verwenden.
Wenn wir das Programm ausführen, können wir die Option auswählen, die wir bevorzugen. Wenn wir auf die Schaltfläche klicken, wird das Meldungsfeld angezeigt:
Verwenden Sie das SelectionChangeCommitted
Ereignis, um benachrichtigt zu werden, wenn ein Benutzer ein Element aus der Combobox auswählt. Wir könnten das SelectedIndexChanged
-Ereignis verwenden. Dies wird jedoch auch ausgelöst, wenn wir das select-Element in der Combobox programmgesteuert ändern.
CheckBox
Checkbox ist ein Steuerelement, mit dem Benutzer boolean
Werte vom Benutzer für eine spezielle Frage wie " Geht es dir gut?" .
Hat ein Ereignis namens CheckedChanged
, das immer dann auftritt, wenn die check
Eigenschaft geändert wird.
Hier ist eine CheckBox mit der Frage "Wird geprüft?" .
Wir haben diese MessageBox
vom CheckedChanged
Ereignis erhalten.
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
bool IsChecked = checkBox1.Checked;
MessageBox.Show(IsChecked.ToString());
}
Wenn CheckBox markiert ist, ist die Variable IsChecked
true
.
Wenn CheckBox nicht IsChecked
ist, wird die Variable IsChecked
auf false
.
ListBox
Listbox
ist ein Steuerelement, das eine Sammlung von Objekten enthalten kann. Listbox
ähnelt der Combobox
jedoch in der Combobox
. Nur ausgewählte Elemente sind für den Benutzer sichtbar. In der Listbox
; Alle Elemente sind für den Benutzer sichtbar.
Wie füge ich Elemente zu ListBox hinzu?
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);
}
Ausgabe ;
Oder datasources
können gegeben werden,
private void Form3_Load(object sender, EventArgs e)
{
List<string> TestList = new List<string> { "test1", "test2", "test3", "44", "55" };
listBox1.DataSource = TestList;
}
Ausgabe;
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";
}
Die richtige Ausgabe ;
Das Übergeben einer externen SQL-Datenquelle an das Listenfeld erfordert ValueMember
und DisplayMember
Wenn nicht , dass es wie folgt aussieht,
Nützliche Ereignisse;
SelectedIndex_Changed;
Definieren Sie eine Liste für die Datenquelle
private void Form3_Load(object sender, EventArgs e)
{
List<string> DataList = new List<string> {"test1" , "test2" , "test3" , "44" , "45" };
listBox1.DataSource = TestList;
}
Bei der Gestaltung des Formulars wählen Sie Listbox
und drücken Sie F4 oder klicken Sie rechts auf das Beleuchtungssymbol.
Visual Studio generiert listBox1_SelectedIndexChanged
für codebehind.
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
int Index = listBox1.SelectedIndex;
label1.Text = Index.ToString();
}
Ergebnis von SelectedIndex_Changed
; (Etikett unten zeigt den Index jedes ausgewählten Elements)
SelectedValue_Changed; (Die Datenquelle ist dieselbe wie oben und Sie können dieses Ereignis wie SelectedIndex_Changed generieren.)
private void listBox1_SelectedValueChanged(object sender, EventArgs e)
{
label1.Text = listBox1.SelectedValue.ToString();
}
Ausgabe ;
NumericUpDown
NumericUpDown ist ein Steuerelement, das wie TextBox aussieht. Mit diesem Steuerelement kann der Benutzer eine Nummer aus einem Bereich anzeigen / auswählen. Aufwärts- und Abwärtspfeile aktualisieren den Textfeldwert.
Kontrolle aussehen wie;
In Form_Load
kann ein Bereich festgelegt werden.
private void Form3_Load(object sender, EventArgs e)
{
numericUpDown1.Maximum = 10;
numericUpDown1.Minimum = -10;
}
Ausgabe;
UpDownAlign legt die Position der Pfeile fest.
private void Form3_Load(object sender, EventArgs e)
{
numericUpDown1.UpDownAlign = LeftRightAlignment.Left;
}
Ausgabe;
UpButton()
Methode erhöht die Anzahl der Steuerelemente. (kann von überall aus angerufen werden. Ich habe ihn mit einer button
angerufen.)
private void button1_Click(object sender, EventArgs e)
{
numericUpDown1.UpButton();
}
**Ausgabe
DownButton()
verringert die Nummer des Steuerelements. (kann von überall aus angerufen werden. Ich habe es mit einer button
erneut aufgerufen.)
private void button2_Click(object sender, EventArgs e)
{
numericUpDown1.DownButton();
}
Ausgabe;
Nützliche Ereignisse
ValueChanged;
Dieses Ereignis funktioniert, wenn Sie auf den Aufwärts- oder Abwärtspfeil klicken.
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.
}
}
Ausgabe ;