[C#] Czyszczenie wielu tb jednocześnie

0

Witam.

Może ktoś pomóc zrealizować problem w temaci tj. czyszczenie np wszystkich textboxow w zakladce. Moje formularze nie są aż tak rozbudowane, ale napewno to sie przyda. Wydaje mi sie, że muszę skorzystać odpowiednio z petli foreach lecz nie wiem jak tego użyć w tym celu. Być może powinienem zrobić to inaczej.
0

Chyba forma ma coś takiego jak Controls lub ChildControls, coś takiego. Pętla for lub foreach po tych controls, sprawdzić czy są typu TextBox (operator is), jeśli tak to rzutować (operator as) i zmienić co trzeba.

0

foreach (TextBox tb in this.Controls)
{
MessageBox.Show(tb.Name);
}

debuger szaleje :D może jakaś więsza pomoc...

0

Za bardzo sie stresciles z kodem i probujesz dokonac niejawnej konwersji z Control na TextBox...
To co sugerowal Deti to dokladnie:

foreach(Control control in Controls)
  if(control is TextBox)
    MessageBox.Show((control as TextBox).Name);//dopiero tutaj konwersja
    

//johny, na przyszłość - code=csharp, a nie code=c# ;) - Cold
//Cold - a jaka jest roznica? - johny
// taka, że c# nie koloruje, bo takiego schematu nie ma - Cold
csharp

foreach(Control control in Controls)

c#foreach(Control control in Controls)

0

Dzięki za zainteresowanie, czas na wyniki... otóż za pierwszym podejściem mówiłem debugger szała teraz jest ok, ale nic nie wyświetlało więc dodałem else i control Name do wyświetlenia i wyświetlił mi toolstripa menu_glowne u mnie to layoutpanel i status bar reszta jakby nie istniała :/ próbuję mieszać coś z child ale na razie też nic.. Okno z aplikacja wygląda tak powiem kolejno z Document Outline
jest okno_glowne czyli forma
w nim mam toolstrip continer dalej we wnetrzu mam table layout i pare kontrolek i chyba spilit panel ten co na pół może dzielić i w prawej stronie mam tabControl z formularzami i np w jednej z zakładek mam z 16 Textboxów i pare combo i z jeden richbox jakis datapicker i chciałbym to poczyścić w jakiejś pętli bo ręcznie to głupiego robota, aczkolwiek się da :D Całość programu muszę oddać do wtorku, a to takie bajery, bo chcę się pozbyć nadmiaru kodu. Projekt na ocene, no więc jakieś inne pomysły na dokonanie tego cudu czyszczenia :D

0

O Dzisys, czyli textboxy sa gdzies 5 poziomow wglab? Pozostaje rekurencja.

0

Czyli co masz na myśli ?? W jaki sposób mogę pójść w głąb i zacząc coś odczytywać ??

0
protected ClearRecursive(Control Parent)
{
  foreach(Control control in Parent.Controls)
    if(control is TextBox)
      MessageBox.Show((control as TextBox).Name);
    else ClearRecursive(control);
}

...
ClearRecursive(Form1); // zaczynamy od samej gory
0

jeszcze nie sprawdzałem no, ale z tego co widze to jest gites. Jeśli jutro nie będę musiał tego zrobić to raczej nie będę zaglądał do Visuala przez chociaż pare dni :D mam dosyć ostatnie 4 dni spędziłem nad tym, żeby skończyć ten projekt :/

Dzieki za helpa... :D pozdro

PS. Może tak ktoś zainteresuję się moim tematem z datagridview i spróbuje pomóc ?? Sprawa dalej wygląda tak, że zrobiłem to ręcznie jak jest na jednej ze stron microsoft z kb coś tam, a ja chciałbym to zrobić bez kodu w programie po prostu niech dgv się tym zajmie sam po poleceniach update i refresh :(

1 użytkowników online, w tym zalogowanych: 0, gości: 1