====== C# Code Beispiele ====== ===== Zufallszahlen ===== Random rand = new Random(); int zufallszahl = rand.Next(1, 11) //berechnet eine Zufallszahl zwischen 1 und 10. ===== Sound hinzufügen ===== //Bibliothek hinzufügen using System.Media; public partial class Form1 : Form { private SoundPlayer _soundPlayer; } public Form1() { InitializeComponent(); _soundPlayer = new SoundPlayer("Windows Exclamation.wav"); } private irgendeinemethode { _soundPlayer.Play(); } ===== Console.WriteLine ===== Console.WriteLine(comboBox1.SelectedItem); {{:inf:inf8bi_201920:3:visual08.png|}} ===== MessageBox ===== MessageBox.Show(erg.ToString(), "Ergebnis"); {{:inf:inf8bi_201920:3:visual07.png|}} ===== Stoppuhr ===== Stopwatch stopwatch = new Stopwatch(); stopwatch.Reset(); //Zurücksetzen der Zeitmessung stopwatch.Start(); //Startet die Zeitmessung //Code bzw. Ereignisse stopwatch.Stop(); //Stoppt Zeitnehmung //Berechnung und Ausgabe der abgelaufenen Zeit TimeSpan ts = stopwatch.Elapsed; //Zeitspanne ermitteln string elapsedTime = String.Format("{0:00},{1:00}", ts.Seconds, ts.Milliseconds / 10); MessageBox.Show("Ihre Zeit beträgt: " + elapsedTime + " Sekunden!"); ===== try - catch ===== try { //Hier steht ein Code, wo es zu Fehlern kommen kann } catch(Exception ex) { MessageBox.Show("Fehler bei der Eingabe. Überprüfen Sie Ihre Eingabe.\n" + ex.Message,"Fehler"); } {{:inf:inf8bi_201920:3:visual09.png|}} ===== Sicherheitsabfragen - Eingabe von korrekten Zahlen in Textbox ===== Man möchte z.B. dass in einer Textbox nur Zahlen eingegeben werden können... Man verwendet das Ereignis OnKeyPress private void TextBox1_KeyPress(object sender, KeyPressEventArgs e) { Console.WriteLine((int)e.KeyChar); if(char.IsDigit(e.KeyChar)||(int)e.KeyChar==8||e.KeyChar=='-'||e.KeyChar==',') { //MessageBox.Show("Ist Ziffer"); if(e.KeyChar=='-' && tb_op1.TextLength!=0) //Verhindert ein Minus, das nicht an 1. Stelle ist. { e.Handled = true; } if(e.KeyChar==',' &&tb_op1.Text.Contains(',')) //Verhindert zwei Kommas. { e.Handled = true; } } else { //MessageBox.Show("Keine Ziffer"); e.Handled = true; // } } ===== Zweites Fenster - Neue Form ===== * In der Projektmappe ein neues Form2 hinzufügen. * In Form1: private void button1_Click(object sender, EventArgs e) { Form2 frm = new Form2(); frm.ShowDialog(); //Öffnet Fenster exklusiv } * Fenster in Form2 wieder schließen: private void button1_Click(object sender, EventArgs e) { ActiveForm.Close(); } ===== Zweites Fenster - Neue Form mit Übergabe von Variablen ===== === Form1 === public partial class Form1 : Form { public int zahl = 5; public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { //this.Hide(); Form2 form2 = new Form2(this); form2.ShowDialog(); //this.Show(); } } === Form 2 === public partial class Form2 : Form { Form1 form1; int z; public Form2() { InitializeComponent(); } public Form2(Form1 incomingform) { InitializeComponent(); form1 = incomingform; z = form1.zahl; } private void button1_Click(object sender, EventArgs e) { MessageBox.Show("Die int-Variable aus Form 1 hat als Wert: " + z.ToString()); } private void button2_Click(object sender, EventArgs e) { MessageBox.Show("Das Label wurde im Form 1 auf public gesetzt!"); //Form1.Designer.cs //public System.Windows.Forms.Label label1; //private auf public geändert label1.Text=form1.label1.Text; } private void button3_Click(object sender, EventArgs e) { ActiveForm.Close(); } } ===== DataGrid View ==== * Spaltenindex einer Zelleneingabe abrufen und ausgeben Console.WriteLine("Spalte " + e.ColumnIndex); ===== Chart ===== * Titel hinzufügen und entfernen: chart1.Titles.Add(textBox1.Text.ToString()); chart1.Titles.Clear(); * Diagrammtyp chart1.Series[0].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Area; * Achsenbeschriftung chart1.ChartAreas[0].AxisX.Title="X-Achse"; chart1.ChartAreas[0].AxisY.Title = "Y-Achse"; * Farben //Balkenumrandung chart1.Series[0].BorderColor = Color.Aquamarine; //Balkenfarbe chart1.Series[0].Color= Color.DarkOliveGreen; ==== Dictionarys ==== Ein Dictionary verlangt einen Key und einen Value, z.B. der Key ein string und der Value ein integer. Man kann z.B. eingeben: |Dictionary|dict||| |||rot|10| |||schwarz|15| |||grün|3| Es ist so ähnlich wie ein Assoziatives Array in PHP. Dictionary dict = new Dictionary (); //Wenn der Value "rot" schon existiert, dann wird der Wert um 1 erhöht, ansonst neu erstell. if(dict.ContainsKey("rot")) { dict.["rot"]++; } else { dict.Add("rot",1); } MessageBox.Show(dict["rot"].ToString()); === Beispiel: Zählen von Runs beim Roulette === Dictionary dred = new Dictionary (); Dictionary dblack = new Dictionary (); Dictionary dgreen = new Dictionary (); //Beispiel für Gruen if (columns[1].Length > 0) //Es ist ein grüner Eintrag in der Zeile { if(rrot !=0) //ob vorher rot vorgekommen ist --> Run in Dictionary eintragen { if(dred.ContainsKey(rrot)) //Gibts schon den Eintrag für den rrot-Run im Dictionary? { dred[rrot]++; //Anzahl rrot-Runs für Rot runs++; //Anzahl Gesamt Runs } else //Wenn nicht, dann wird der Eintrag für rrot-Run erstellt { dred.Add(rrot,1); runs++; } rrot = 0; //der rrot-Run wird auf 0 gesetzt, da ja grün gekommen ist. if(rschwarz !=0) //war vorher schwarz? { if(dred.ContainsKey(rschwarz)) //gibt es den rschwarz-Run schon im Dictionary? wenn ja, erhöhen, { dblack[rschwarz]++; //Anzahl rschwarz-Runs für Schwarz runs++; //Anzahl Gesamt Runs } else //wenn nein, dann erstelle ihn mit 1, da dieser Run das erste Mal vorgekommen ist. { dblack.Add(rschwarz,1); runs++; } rschwarz= 0; }