Hallo Zusammen,
ich habe mir mal einen kleines Hilfe Tool gebaut.
ich habe nach einer möglichkeit gesuch alle Felder unabhängig von ihrer Art zu Reseten / zu Leeren in einer schleife.
Raus gekommen ist folgendes:
public static void ClearAll(Control ctrl)
{
foreach (Control tmp in ctrl.Controls)
{
if (tmp is Form || tmp is GroupBox)
{
ClearAll(tmp);
}
else if (tmp is TabControl)
{
foreach (TabPage tp in tmp.Controls)
{
ClearAll(tp);
}
}
else if (tmp is TextBox|| tmp is RichTextBox || tmp is MaskedTextBox)
{
tmp.Text = "";
}
else if (tmp is CheckBox)
{
CheckBox check = (CheckBox)tmp;
check.Checked = false;
}
else if (tmp is ComboBox)
{
ComboBox combo = (ComboBox)tmp;
if (combo.Items.Count > 0)
{
combo.SelectedIndex = 0;
}
else
{
combo.SelectedIndex = -1;
combo.Text = null;
}
}
else if (tmp is DateTimePicker)
{
DateTimePicker dtp = (DateTimePicker)tmp;
dtp.Value = DateTime.Now;
}
else if(tmp is DataGridView)
{
DataGridView dgvr = (DataGridView)tmp;
dgvr.Rows.Clear();
}
}
}
Ich habe das ganze in eine Statische Klasse (names "helper") gesetz und rufe dann das ganze so auf
helper.ClearAll(this);
Was haltet Ihr davon?
würde ja gerne es so machen das ich dies "tihs" Rauslasen kann und er das Formular selbst erkennt von dem der befehl kam .
leider bin ich mit meinem Wissen noch nicht so weit!
Lieben Gruß
Commander 82
Danke für den Denk Anstoss ich habe es jetzt mit dem Ansatz gelöst bekommen
ok
Kannst du mir kurz ein Beispiel geben ich stehe grade auf dem Schlauch!
Danke
Hallo zusammen,
ich probiere mich grade mal mit gettern und settern aus und wie soll es anders sein natürlich fange ich gleich mit dem schwersten an.
also was ich habe
( als Hilfe Szenario ist eine Pizza Bestellung und es ist nur ein Lern / Übungsprojekt)
die Klasse sieht grade So aus
internal class order
{
private order()
{
}
public string Prefix { get; set; }
public string Name { get; set; }
public string Prename { get; set; }
public string Street { get; set; }
public string Produkt { get; set; }
public string Ordernr{ get; set; }
internal static order _contract = null;
public static order Begin()
{
if (_contract == null)
_contract = new order
return _contract;
}
}
}
der aufruf ist so
myorder = order.Begin(); // ersetzt mir das New order()
was ich möchte ist jetzt das ich beim Aufruf bzw. bei füllen folgendes machen kann
myorder =order.Beginn()
myorder.Kunde.Name = textbox_name.Text(); // schmidt
myorder.Kunde.vorname = textbox_vorname.Text(); // hans
myorder.Product.Nr = textbox_prodnr.Text(); // (int) 5
myorder.Product.name = textbox_prodname.Text(); // "Pizza Hawei"
für ausgabe dann soll es so möglich sein
// und für die ausgabe
(readonly) textbox_ordernr = myorder.ordernr // Ihre Bestellung NR. 123456 ( wird von system erstellt)
// ausgabe des Gesammten Kunden
myorder.Kunde() // Rückgabe "Hans Schmidt"
// oder als alternative aufruf
myorder.Kunde.vorname // ausgabe = Hans
wie kann ich das machen