Diskuze: TextBox.Select()
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.


Zobrazeno 7 zpráv z 7.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.


V momentě, kdy máš ovládací prvek, který má možnost pohybovat
kurzorem (jako TextBox), tak to na šipky nereaguje - ani v KeyDown ani KeyUp
ani KeyPress.
Několikrát jsem se k tomu dostal a většinou jsem to po nějaké době
testování udělal jinak (bez TextBoxu), protože to nebylo tak nutný.
Napadá mě, že jde zachytit událost přímo ze systému a ne
prostřednictvím události ovl. prvku, tak by to třeba šlo obejít ...
Malo by tam byť najprv asi TextBox2.Focus(), ak sa dobre pamätám.
Tomu co píšeš bych docela uvěřil, ale zaráží mě to, že když krokuju kódem po řádcích, tak při stisku šipky dolů je podmínka KeyDown splněna a program projede až k příkazu TextBox.Select(), jede dál, ale příkaz neprovede. Když místo TextBox.Select() napíšu jiný příkaz, (třeba textBox2.Text="Blabla") tak ho provede. Proto si myslím, že chyba nebude v tom, že by program nezachytil při stisku šipky dolů událost KeyDown, nýbrž v samotném příkazu TextBox.Select(), který ale v jiných procedurách funguje. Mimochodem, co píše jozef_i je pravda, ale chová se to úplně stejně. Prostě příkaz TextBox.Focus() neprovede. Proč ho ale provede, když projíždí stejnou proceduru po stisku klávesy ENTER ???.
Napada mne nekolik veci kolem udalosti. Ale VB nepouzivam.
event.keycode = kod klavesy
event.target = element
Ale, kdyz se pouzije odkaz, ten ma na sobe vazane presmerovani, tam je treba
zastavit funkci, ktera se spousti s odkazem
<a href="jina_stranka.htm" onclick="funkce(); return false;"></a> - tohle provede funkci a zustane stat
<a href="jina_stranka.htm" onclick="funkce();"></a> - tohle hned presmeruje, driv nez se funkce dokonci
<a href="jina_stranka.htm" onclick="return funkce();"></a> - funkce rozhodne, zda se provede odkaz ci ne
Cili, mozna je treba pridat do funkce neco jako stopPropagation
To by mohlo vysvetlit projiti cyklu.
Jinak, jak pise jozef_i, k objektu bych pristupoval pres focus(). Select,
selection je oznaceni textu. Ale, neznam terminologii VB, takze to muze fungovat
misto focus.
V JS se treba pouziva take focus().
PS. Zkusil jsi reseni nejdriv vygooglovat? 
A co <code>PreviewKeyDown</code>? A potom bacha na
<code>handled</code>
. Já dělám jenom v C# (ale tam by takový rozdíl neměl být) a
nevím, v čem to máš (ve WPF určitě preview je), takže pokud to tam
nebude, sorry za spam
.
Bingo !!! Tak jsem stejnou situaci nasimuloval v jiné aplikaci a ejhle, ono
to chodí. Porovnal jsem si tedy vlastnosti TextBoxu v jedné i druhé aplikaci
a zjistil jsem, že celý problém je v tom, že jsem měl u TextBoxu vlastnost
Multiline na True. Po změně na False už to normálně funguje. Tím mi, ale
nastal další problém jak si nastavit požadovanou výšku TextBoxu, protože
se mi automaticky upravuje podle velikosti fontu. 
Zobrazeno 7 zpráv z 7.