» Poradna » Programy

[C#] Visual Studio - omezení hodnoty v TextBoxu

 |   |  Microsoft Windows 7 Chrome 26.0.1410.64

Podadí někdo, jak zapsat podmínku, aby bylo možné např. do TextBoxu možné zapsat číslo od 0 do 60 a to jak celočíselně tak i na jedno desetinné místo (0,0 až 60,0)?Teď to mám řešené přes odchytávání stisknutých kláves a povoluji jen čísla a ",". Ale dovoluje mi to napsat třeba ",33365"

Odpovědi na otázku

 |   |  Microsoft Windows 7 IE 10.0

Použít komponentu která to umí? Např. DoubleUpDown z knihovny Extended WPF

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 26.0.1410.64

Dobře, ale já to myslím pro obecnější použití nejen do TextBoxu, ale také třeba do buňky DataGridView ...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 8 Chrome 26.0.1410.64

I do buňky v DGW se dají nacpat jiné komponenty.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 8 Firefox 21.0

Nebo si vytvoř vlastní komponentu

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 26.0.1410.64

To bych musel umět :)

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 26.0.1410.64

A jak?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 8 Chrome 26.0.1410.64
 |   |  Microsoft Windows 8 Firefox 20.0

Co treba pouzit RegEx:if (System.Text.RegularExpressions.Regex.IsMatch("^[0-6]?[0-9](,[0-9]*)?$", mujText)) { }

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 20.0

<způsob type='buranský'>1) Je možno výraz konvertovat na číslo?ne - chyba ano - pokračuj2) Je číslo v rozsahu 0 až 60 ?ne - chybaano - pokračuj</způsob>

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Opera 9.80

použít CompareValidator (s Operator=DataTypeCheck) + RangeValidator; ještě lépe vytvořit si vlastní komponentu která bude textbox a tyto validátory obsahovat

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 26.0.1410.64

No problém je v tom, že s tím nemám vůbec žádnou zkušenost (s vytvářením vlastních komponent) :(

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 8 Firefox 20.0

Pouzij ten regex co jsem psal o kousek vis, a mas po problemu.Kazdopadne to delani komponent se nauc, zacni tim ze si prectes neco o dedicnosti. Pak vezmes puvodni prvek a proste mu treba pridelas jednu funkci navic .

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 26.0.1410.64

S tím REGEXem to mám již vyřešené, funguje to, ale přeci jen to k dokonalosti má dál, ne daleko :)

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Opera 9.80

příklad vlastního user controlu:http://www.mastercsharp.com/article/62/creating

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: Visual Studio



Určitě si přečtěte


Aktuální číslo časopisu Computer

Jak rychlé je nabíjení bez drátů?

Test 11 sluchátek pro hráče

Aplikace, které vám zachrání dovolenou

Kompletní přehled datových tarifů