Forum » Programiranje » [c#] izbris vsebin v vseh gradnikih
[c#] izbris vsebin v vseh gradnikih
japol ::
Kako najlažje izbrišem vsebino v vseh gradnikih, ne glede na to ali se nahajajo na panelih, groupboxih,...?
japol ::
Trenutno imam rešeno tako:
Imam Meni.sc in v njem kodo:
ampak iščem način, da mi ne bo potrebno pisati za vsak panel, groupbox, itd.
Imam Meni.sc in v njem kodo:
public void Novo(Form1 f1) { foreach (Control c in f1.Controls) // le na formi { if (c is TextBox || c is ComboBox) { c.Text = ""; } } foreach (Control c in f1.groupBox1.Controls) // le v groupboxu1 { if (c is TextBox || c is ComboBox) { c.Text = ""; } } foreach (Control c in f1.panel1.Controls) // le v panelu1 { if (c is TextBox || c is ComboBox) { c.Text = ""; } } // itd.............. }
ampak iščem način, da mi ne bo potrebno pisati za vsak panel, groupbox, itd.
zenb ::
private void button1_Click(object sender, EventArgs e) { IEnumerable<Control> controlList = GetControls(this); foreach (Control c in controlList) c.Text = ""; } public static IEnumerable<Control> GetControls(Control form) { //Sprehodimo se skozi controle foreach (Control childControl in form.Controls) { //Če ima controla otroke, potem se prehodimo še skozi otroke foreach (Control grandChild in GetControls(childControl)) { yield return grandChild; } //vrnemo še kontrolo yield return childControl; } } EDIT: bolj šolski primer private void button1_Click(object sender, EventArgs e) { List<Control> controlList = GetControls(this); foreach (Control c in controlList) c.Text = ""; } public static List<Control> GetControls(Control form) { List<Control> controlList = new List<Control>(); //Sprehodimo se skozi controle foreach (Control childControl in form.Controls) { //Če ima controla otroke, potem se prehodimo še skozi otroke foreach (Control grandChild in GetControls(childControl)) { controlList.Add(grandChild); } //vrnemo še kontrolo controlList.Add(childControl); } return controlList; }
To bi moralo delovati
Zgodovina sprememb…
- spremenil: zenb ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | C#, TextBox in PopUp formaOddelek: Programiranje | 1103 (997) | MarCar |
» | C# textbox polnjenjeOddelek: Programiranje | 1627 (1492) | Mitja Bonča |
» | C# ProgramOddelek: Programiranje | 3097 (2020) | Spura |
» | razložitev nekaterij elementov v visual studio 05Oddelek: Programiranje | 2107 (1912) | darkolord |
» | [VB express edition] problemOddelek: Programiranje | 1374 (1277) | frudi |