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 | 1202 (1096) | MarCar |
| » | C# textbox polnjenjeOddelek: Programiranje | 1720 (1585) | Mitja Bonča |
| » | C# ProgramOddelek: Programiranje | 3249 (2172) | Spura |
| » | razložitev nekaterij elementov v visual studio 05Oddelek: Programiranje | 2283 (2088) | darkolord |
| » | [VB express edition] problemOddelek: Programiranje | 1502 (1405) | frudi |