Forum » Programiranje » [c#] izbris vsebin v vseh gradnikih
[c#] izbris vsebin v vseh gradnikih
![](https://static.slo-tech.com/stili/avatar_gray.gif)
japol ::
Kako najlažje izbrišem vsebino v vseh gradnikih, ne glede na to ali se nahajajo na panelih, groupboxih,...?
![](https://static.slo-tech.com/stili/avatar_gray.gif)
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.
![](https://static.slo-tech.com/stili/avatar_gray.gif)
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
![:)](https://static.slo-tech.com/smeski/icon_smile.gif)
Zgodovina sprememb…
- spremenil: zenb ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | C#, TextBox in PopUp formaOddelek: Programiranje | 1122 (1016) | MarCar |
» | C# textbox polnjenjeOddelek: Programiranje | 1644 (1509) | Mitja Bonča |
» | C# ProgramOddelek: Programiranje | 3123 (2046) | Spura |
» | razložitev nekaterij elementov v visual studio 05Oddelek: Programiranje | 2147 (1952) | darkolord |
» | [VB express edition] problemOddelek: Programiranje | 1401 (1304) | frudi |