VYMAZÁNÍ TEXTU V TEXTBOXŮ NA RÁZ !   otázka

VB.NET, WinForms

Dobrý den ,

chci se zeptat jak lze na ráz vymazat text v textboxů. Jelikož je mám ve svém programu mnoho bylo to nadlouho. Děkuji odpověď

tohle mám na mysli ;-)

Textbox1.claer()

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Napadá mě, že by šlo projít všechny prvky (Controls) na formuláři a vybrat z nich textboxy.

foreach (Control x in this.Controls)
{
     if (x is TextBox)
     {
           ((TextBox)x).Clear();
     }
}

Kód je ale samozřejmě v C# (ve Visual Basicu nepíšu), ale ve Visual Basicu to bude podobné...

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Takto by to šlo, jen si nejsem jistý tím, jestli bude tento kód fungovat i v případě, že má tazatel na formuláři umístěné textboxy v dalších kontejnerech (např. groupbox, panel atd.) Nemusí se pak controls hledat přímo v daném kontejneru?

Jedná se jen o můj postřeh, nemám zrovna k dispozici Visual Studio abych to vyzkoušel.

Jinak souhlasím s komentářem dole, že to zavání špatným návrhem aplikace.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Máte pravdu, tohle funguje skutečně pouze na jednu kolekci dceřinných prvků jistého kontejneru. Pokud by uživatel chtěl vymazat všechny TextBoxy všude, musel by to projíždět rekurzivně.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Nejlepší bude to, co říká pan Suk, mohlo by to být třeba nějak takto:

        For Each tb In Me.Controls.OfType(Of TextBox)()
            tb.Clear()
        Next

Každopádně můžu Vám s klidem v duši říct, že máte špatně navrženou aplikaci, jestli v ní máte tolik TextBoxů, že je potřebujete iterovat cyklem.

Mimochodem, psaní pouze majuskulemi je na internetu považováno za křik a vykřičník na konci to jen potvrzuje. Tady na fóru se dotazy pokládají, ne vyřvávají, dodržujte prosím pravidla fóra.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

No nechci nikoho obhajovat,ale to že má tazatel ve formu mnoho textboxů určitě neznamená,že je aplikace špatně navržena,to je blbost!

Spíše by bylo vhodné poznamenat,že by měl být dotaz lépe položen a definován.Jde Vám o tom,vymazat obsah všech textboxů na aktuální stránce nebo jen v určitém DOM elementu(div,..)?

nahlásit spamnahlásit spam -2 / 2 odpovědětodpovědět

Já mám pocit, že podle zařazení vlákna se nejedná o web.

Navíc pokud bychom se bavili o TextBoxech (input type="text" v HTML), ty se dají smazat prvek input type="reset", TextBox.Clear je záležitost code-behindu a tam asi nemá smysl TextBoxy mazat, protože bychom mazali ASP .NET prvky a nikoliv HTML prvky.

A rád bych viděl uživatelské rozhraní, které je dobře navržené a zároveň obsahuje mnoho TextBoxů. Velký počet vstupních prvků většinou indikuje to, že se vytváří dynamicky a nemůžu se ubránit myšlenkám, že taková situace by se nedala vyřešit nějakým Gridem nebo Viewem...

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

No pokud budu vytvářet web.dotazník,který obsahuje spoustu položek a dotazů,tak to těžko uděláte bez toho aniž byste použil velké množství textboxů a jiných komponent.Nicméně to se netýká tohoto topicu..Jen mi to přišlo jako přehnané tvrzení,bez znalosti aplikace,potřeb,atd.

Co se týče mazání,tak můžu jen souhlasit.Pokud se jedná o web,tzn.HTML,tak použijte reset.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Velké množství textových polí nebo jiných ovládacích prvků v desktopové aplikaci je bez debaty jasná známka velmi špatného návrhu uživatelského rozhraní. Pro takové věci existují k tomu určené ovládací prvky, nebo se v nejhorším případě dají vyrobit vlastní

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Z topicu jsem měl pocit,že se tazatel baví o web aplikaci..i když je to v sekci VB.Net

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback