Fantasy Art ~ Phantastische Kunst
Please click on 'Switch Style'.
The style of the website will change.
Bitte klicken Sie auf 'Switch Style'.
Die Gestaltung der Webseite wird sich ändern.
try
{ ... }
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
try
{ ... }
catch
{
MessageBox.Show("Fehler!");
}
Fehlermeldungen:
Application.Exit();
MessageBox.Show("Fehler!");
txtBox.Text = "Ergebnis: " + Variable.ToString();
String-Bausteine mit + verketten.
StringBuilder SB = new StringBuilder();
SB = SB.Append(Zahl.ToString() + "Alpha");
txtAusgabe.Text = SB.ToString();
StringBuilder:
txtBox1.Focus();
txtBox2.Clear();
txtBox3.Text = null;
txtBox4.Text = txtBox5.Text = null;
string NeueZeile = Environment.NewLine;
txtName.Text = "Text" + NeueZeile + "Text";
txtName.Text = "Text" + Environment.NewLine + "Text";
txtName.Text = "Text/n" + "Text";
Drei Möglichkeiten für einen Zeilenumbruch.
try { }
catch { }
Wenn der Versuch (try) misslingt, werden Gegenmaßnahmen (catch) ergriffen.
double VarDub;
VarDub = Convert.ToDouble(txtEingabe.Text);
int VarInt;
VarInt = Convert.ToInt32(txtEingabe.Text);
double VarDub;
VarDub = Convert.ToInt32(txtEingabe.Text);
Konvertierung:
double to double, int to int32, double to int, usw.
Die Konvertierung eines Datentyps nochmals in denselbigen ist im Try-Block vorteilhaft.
int VarInt;
txtAusgabe.Text = VarInt.ToString();
VarInt wird für die Ausgabe in eine Textbox nach String konvertiert.
int Variable = 10;
(double)Variable;
double Variable = 22.22;
(int)Variable;
Casten:
Aus int wird double.
Aus double wird int.
txtAusgabe.Text = ZahlDouble.ToString("F2");
txtBox.Text = Zahl.ToString("D3");
txtBox.Text =
Zahl.ToString().PadLeft(3, ' ');
double VarA;
double VarB = 0;
int VarC = 1, VarD = 2;
bool Bool1 = false;
bool Bool2 = true;
string DerString = "Text";
Beim Erstellen einer Variablen kann ihr ein Initialwert zugewiesen werden.
ToolTip Trick17 = new ToolTip();
Trick17.SetToolTip(cmdEnde,"Ende");
ToolTip z.B. unter InitializeComponent(); einfügen.
cmdButton.Text = "Berechnen";
txtBox123.Text = "Ausgabe45";
Text kann geändert oder zugewiesen werden bei: Textbox, Button, Label, usw.
Operator | Bedeutung |
---|---|
+ | Addition |
- | Subtraktion |
* | Multiplikation |
/ | Division |
% | Modulo, Restwert-Division |
Operator | Kurzschreibweise | ausführlich |
---|---|---|
+= | A += B | A = A + B |
-= | A -= B | A = A - B |
*= | A *= B | A = A * B |
/= | A /= B | A = A / B |
++ | A++ | A = A + 1 |
-- | A-- | A = A - 1 |
C Sharp | Bedeutung | Sonstiges |
---|---|---|
&& |
UND Alle Bedingungen müssen wahr sein. |
and ∧ |
|| |
ODER Eine oder mehrere Bedingungen müssen wahr sein. |
or ∨ |
== | IST GLEICH | |
!= | IST NICHT GLEICH | <> ≠ |
! | NICHT | |
^ |
exklusives ODER Nur eine Bedingung darf wahr sein. |
xor |
= | Zuweisung | ← |
< | kleiner als | |
<= | kleiner-gleich als | |
> | größer als | |
>= | größer-gleich als |
int Variable1 = 17;
int Variable2 = 17;
Variable1 / 5;
Variable2 % 5;
Wiederholung:
Zahl++;
goto Wiederholung;
string Ausgabe = null;
int AsciiCode;
AsciiCode = 12;
Ausgabe = Convert.ToChar(AsciiCode);
Vorgang:
int Zufallszahl, Zaehler = 1;
string Ausgabe = null;
Random Zufall = new Random();
while (Zaehler <= 5)
{
Zufallszahl = Zufall.Next(0, 10);
Ausgabe += Zufallszahl.ToString();
Zaehler = Zaehler + 1;
}
txtAusgabe.Text = Ausgabe;
5-stellige Zufallszahl aus den Ziffern 0 bis 9.
int Zufallszahl;
Random Zufall = new Random();
Zufallszahl = Zufall.Next(0, 5);
Eine einstellige Zufallszahl aus dem Zahlenraum: 0 bis 4.
/*Zuweisung an Textbox, Button, usw:*/
this.txtBox.ForeColor = System.Drawing.Color.Azure;
this.cmdButton.BackColor = System.Drawing.Color.HotPink;
/*Zuweisung an die Form selber:*/
this.ForeColor =
System.Drawing.Color.Azure;
this.BackColor =
System.Drawing.Color.MediumVioletRed;
Datentyp | Info | Größe (Bytes) | Wert | ||
---|---|---|---|---|---|
sbyte | positiv, negativ, ganzzahlig | 1 | -128 to 127 | ||
short | Int16 | positiv, negativ, ganzzahlig | 2 | ||
int | Int32 | positiv, negativ, ganzzahlig | 4 | ||
long | Int64 | positiv, negativ, ganzzahlig | 8 | ||
float | positiv, negativ, Gleitkomma | 4 | |||
double | positiv, negativ, Gleitkomma | 8 | |||
decimal | positiv, negativ, Gleitkomma | 12 | |||
bool | Boolescher Wert | 1 | true or false | ||
char | Ein einziges Zeichen | 2 | |||
string | Alphanumerische Zeichenfolge |
private void Button_Click(...)
{
int Zahl1 = 250,
Zahl2 = 10,
Zahl3 = 25,
Ergebnis;
Ergebnis = Auslagerung(Zahl1, Zahl2, Zahl3);
}
private int Auslagerung
(int WertA, int WertB, int WertC)
{
int Berechnung = WertA / WertB * WertC;
return Berechnung;
}
Sowohl
Zahl1, Zahl2, Zahl3 und Ergebnis, als auch
WertA, WertB, WertC und Berechnung sind eigenständige Variablen.
Sie könnten auch dieselben Namen haben und wären doch unterschiedlich.
Um nun diese Variablen richtig zu übergeben,
ist die genaue Reihenfolge derselbigen in den
runden Klammern () entscheident: So werden diese
zugeordnet.
Im Beispiel wird der Wert der Variable 'Berechnung' der Variable 'Ergebnis' mit 'return' zugewiesen.
void Order66()
{
...
}
private void cmdX_Click(...)
{
Order66();
}
Wiederkehrender Code nur einmal schreiben.
Quadrieren = Math.Pow(Zahl, 2);
WurzelZieh = Math.Sqrt(Zahl);
Rund3Stell = Math.Round(Zahl, 3);
Quadrieren: Math.Pow
Wurzel ziehen: Math.Sqrt
Runden: Math.Round
Eigenschaft | Bedeutung |
---|---|
Visible | Un/Sichtbarkeit |
Enabled | De/Aktivierung |
TextAlign | Textausrichtung |
ReadOnly | Schreibschutz |
TabStop | Auswahl per Tabulator |
TabIndex | Auswahl Reihenfolge |
MultiLine | mehrzeilige TextBox |
Location | Platzierung |
Size | Größe, zB: 10;10 |
FormBorderStyle | Fenster (nicht) vergrößern |
Checked = true | Radio-Button Vorauswahl |
BorderStyle | 3D, Single, None |
ScrollBars | Both |
FlatStyle | Flat (Buttons) |
if(String.IsNullOrEmpty(txtBox.Text))
{...}
List<int> Liste01 = new List<int>();
Eine int-Liste. Weitere Datentypen sind möglich.
Liste01.Add(Variable);
Durchschnitt = (int)Liste01.Average();
txtBox.Text = string.Join(" ", Liste01);
Summe = Liste01.Sum();
Menge = Liste01.Count;
Liste01.Clear();
Liste01.CopyTo(InEinArray);
string Datensatz;
Datensatz = Datensatz.Insert(2, ".");
Datensatz = Datensatz.Replace(" ", IntVariable.ToString());
Datensatz = Datensatz.Replace("A", "B");
IntegerVa = Convert.ToInt32(Datensatz.Substring(4, 2));
StringVar = Datensatz.Substring(4, 2);
Datensatz = Datensatz.Remove(3, 6);
using System.Collections;
ArrayList MeineArrayListe = new ArrayList();
Die Array-Liste kann unterschiedliche Datentypen beinhalten.
Sie benötigt den Namespace: System.Collections.
private void Button_Click() {...}
private void RadioButton_CheckedChanged() {...}
private void CheckBox_CheckedChanged() {...}
private void TextBox_TextChanged() {...}
Durch das benutzerseitige Auslösen eines Ereignisses werden die jeweiligen Anweisungen in den geschweiften Klammern {...} ausgeführt: eine Befehlsabfolge wird in Gang gesetzt.
Ein Ereignis wird ausgelöst durch:
DateTime ZEIT = new DateTime();
ZEIT = DateTime.Now;
txtBox.Text =
"Datum kurz: " + ZEIT.ToShortDateString() +
"Datum lang: " + ZEIT.ToLongDateString() +
"Zeit kurz: " + ZEIT.ToShortTimeString() +
"Zeit lang: " + ZEIT.ToLongTimeString() +
"Tag des Jahres: " + ZEIT.DayOfYear +
"Tag der Woche: " + ZEIT.DayOfWeek +
"Tage akt. Mon.: " +
DateTime.DaysInMonth(ZEIT.Year, ZEIT.Month);
if (DateTime.IsLeapYear(ZEIT.Year))
txtBox.Text += "Schaltjahr: Ja";
else
txtBox.Text += "Schaltjahr: Nein";
private Timer Z = new Timer();
public Digital_Uhr()
{
InitializeComponent();
InitializeTimer();
Z.Start();
}
private void timer1_Tick(...)
{
Label.Text = string.Format
(
"{0:00}:{1:00}:{2:00}",
DateTime.Now.Hour,
DateTime.Now.Minute,
DateTime.Now.Second
);
}
public void InitializeTimer()
{
Z.Interval = 1000;
Z.Tick += new EventHandler(timer1_Tick);
}
Ist noch in Arbeit!
Ein Timer 'timer1' muss der Form hinzugefügt werden.
private void timer1_Tick() durch Doppelklick auf 'timer1' erzeugen.
if (rad_19.Checked == true)
mwst = 19;
else
mwst = 7;
Abfrage der Auswahl mittels if(...):
radiobutton.Checked = true;
radiobutton.Checked = false;
Zuweisung einer Auswahl.
private void RadioButton_CheckedChanged(...)
{
if (RadioButton.Checked == true)
...
}
Das Auswählen des RadioButtons kann ein Ereignis auslösen.
Code durch Doppelklicken in der Form auf RadioButton erzeugen.
Falls das Auswählen des RadioButtons zwei Ereignisse auslöst:
RadioButton.Checked == true
> Event Fires Twice <
int VariableA;
VariableA = (int)NumericUpDown.Value;
VariableA wird der Wert aus NumericUpDown zugewiesen.
(int) ändert den Datentyp von NumericUpDown von 'decimal' nach 'int'.
this.TextBox.Visible = false;
this.RadioButton.Visible = true;
this.Label1.Visible =
this.Label2.Visible = true;
Jedes Element der Form kann aus- oder eingeblendet werden.
Das vorangestellte 'this.' kann weggelassen werden?
private void txt_Ausgabe_TextChanged(...)
{
txt_Ausgabe.SelectionStart = txt_Ausgabe.Text.Length;
txt_Ausgabe.ScrollToCaret();
}
Wenn die TextBox verändert wird, immer zum Ende des Textes scrollen.
private void printDocument1_PrintPage
(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
Bitmap BM = new Bitmap(DGV.Width, DGV.Height);
DGV.DrawToBitmap(BM, new Rectangle(5, 5, DGV.Width, DGV.Height));
e.Graphics.DrawImageUnscaled(BM, 5, 5);
}
private void cmd_Drucken_Click(object sender, EventArgs e)
{
printPreviewDialog1.Document = printDocument1;
if(printPreviewDialog1.ShowDialog() == DialogResult.Cancel)
{ printDialog1.Document = printDocument1; }
if(printDialog1.ShowDialog() == DialogResult.OK)
{ printDocument1.Print(); }
}
Aus der Toolbox müssen folgende Elemente der Form per Doppelklick hinzugefügt werden:
Druckinhalt (hier eine DGV) wird als ein Bitmap gespeichert und danach ausgedruckt.
DGV.Rows.Add
(
Variable_Spalte_1, /* a */
Variable_Spalte_2, /* b */
Variable_Spalte_3 /* c */
);
DGV.Rows.Add();
DGV.Rows.Clear();
Mit DGV.Rows.Add(a, b, c); wird eine Zeile ausgegeben.
In jeder Spalte wird die dazugehörige Variable geschrieben.
DGV.Rows.Add(); gibt eine leere Zeile aus.
DGV.Rows.Clear(); löscht die DGV.
DGV.Rows[rowIndex].Cells[columnIndex].Value = value;
Einer bestimmten Zelle einen Wert zuweisen.
How to insert value into datagridview cell?
{...}
Ist noch in Arbeit!
using System.IO;
using System.IO.Compression;
private byte[] filebytes = null;
private FileStream fs = null;
private void cmd_Einlesen_Click(...)
{
try
{
fs = new FileStream
(@"C:\Datei.txt", FileMode.Open, FileAccess.Read);
}
catch
{
MessageBox.Show("Dateifehler!");
Application.Exit();
}
if (fs.Length == 0)
{
MessageBox.Show("Datei ist leer!");
Application.Exit();
}
filebytes = new byte[fs.Length];
fs.Read(filebytes, 0, filebytes.Length);
fs.Close();
MessageBox.Show("Datei eingelesen!");
}
private void cmd_Komprimieren_Click(...)
{
fs = new FileStream
(@"C:\Datei.gzip", FileMode.Create);
GZipStream gzs = new GZipStream
(fs,CompressionMode.Compress);
gzs.Write(filebytes, 0, filebytes.Length);
gzs.Close();
fs.Close();
MessageBox.Show("Datei komprimiert!");
}
private void cmd_Dekomprimieren_Click(...)
{
fs = new FileStream(@"C:\Datei.gzip", FileMode.Open);
GZipStream gzs = new GZipStream
(fs, CompressionMode.Decompress);
StreamReader sr = new StreamReader((Stream)gzs);
File.WriteAllText(@"C:\Datei.txt", sr.ReadToEnd());
sr.Close();
gzs.Close();
fs.Close();
MessageBox.Show("Datei dekomprimiert!");
}
...
private void cmd_Quelle_Click(...)
{
Form_Unterformular Form2 = new Form_Unterformular();
Form2.ShowDialog();
}
Form1.cs
private void cmd_UnterformularSchliessen_Click(...)
{
this.Close();
}
Form2.cs
string Pfad = "", TabName = "";
bool AuswahlGetroffen = false;
bool TabellenNameBekannt = false;
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.Filter =
"Access (*.accdb)|*.accdb|Alle (*.*)|*.*";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
Pfad = openFileDialog1.FileName;
lbx_DBTabellen.Items.Clear();
txt_AuswahlDB.Text = Pfad;
AuswahlGetroffen = true;
txt_Info.Clear();
lbx_DBSpalten.Items.Clear();
txt_AuswahlTAB.Clear();
}
if (AuswahlGetroffen == true)
{
OleDbConnection conn = new OleDbConnection();
conn.ConnectionString =
"Provider = Microsoft.ACE.OLEDB.12.0;"
+ @"Data Source = " + Pfad
+ ";";
/* Alle Tabellennamen ausgeben */
conn.Open();
DataTable Tabellen =
conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[]
{ null, null, null, "TABLE" });
foreach (DataRow row in Tabellen.Rows)
{
lbx_DBTabellen.Items.Add(row[2]);
}
conn.Close();
conn.Dispose();
AuswahlGetroffen = false;
}
lbx_DBSpalten.Items.Clear();
/* Prüfen, ob Item in Liste ausgewählt wurde */
if (lbx_DBTabellen.SelectedIndex < 0)
{
MessageBox.Show("Keine Auswahl");
}
else
{
/* Ausgewählter TabellenName als String */
TabName = lbx_DBTabellen.GetItemText(lbx_DBTabellen.SelectedItem);
txt_AuswahlTAB.Text = TabName;
TabellenNameBekannt = true;
}
/* SpaltenNamen herausfinden */
if (TabellenNameBekannt == true)
{
OleDbConnection conn = new OleDbConnection();
DataTable Spalten;
conn.ConnectionString =
"Provider =
Microsoft.ACE.OLEDB.12.0;"
+ @"Data Source = "
+ Pfad + ";";
conn.Open();
/* Retrieve schema information about columns */
/* Restrict to just the selected TABLE */
Spalten =
conn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, new Object[]
{ null, null, TabName, null });
/* List the column name from */
/* each row in the schema table */
for (int i = 0; i < Spalten.Rows.Count; i++)
{
lbx_DBSpalten.Items.Add(Spalten.Rows[i].ItemArray[3]);
}
conn.Close();
TabellenNameBekannt = false;
}
Folgende Form-Elemente werden benötigt:
Verweise:
{...Code...}
Hervorhebung 1
Hervorhebung 2
/* Kommentar */
// .-***°°***-. .-****°°~~.~~°°****-. .-*-.
// ( Info )o--o( ~Kommentar~ )o---o( ~ )
// °-~~~++~~~-° °-~~~~++**°**++~~~~-° °-~-°
/* Tooltipps */
/* &Hotkeys */
/* Tabulator (außer cmd_Ende) */
/* txt_Ausgabe: ReadOnly */
Subhead
Text
Subline
Erklärtext
strong
emphasize
Maskierung:
< ----- <
> ----- >
& ------- &
" ------- "
⁄ ------ / --- / --- ⁄ --- Slash
\ ----- \ --- \ --- Backslash
; ----- Semikolon
Masking Characters
Einfache Liste:
Verschachtelte Liste:
Komplexe Liste:
TabularHeaders | TabularHeaders |
---|---|
TabularFooter | |
TabularData | TabularData |
TabularData | TabularData |
TabularHeaders | TabularHeaders |
---|---|
TabularFooter | |
TabularData | TabularData |
TabularData | TabularData |
01 |
02 | 03 | 04 |
---|---|---|---|
TabularFooter | |||
0 | 1 | 1 | 0 |
0 | 1 | 1 | 0 |