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