Medzera na začiatku riadku v RichTextBox-e   zodpovězená otázka

VB.NET, WinForms

Dobrý večer, ak mám text v RichTextBoxe a chcem do ňho vložiť medzeru na začiatku riadka musím najprv stlačiť klávesu enter a až potom medzerník, inak to nefunguje. Vedel by mi niekto poradiť ako to vyriešiť z kódu.

Ďakujem za odpoveď.

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

Pokud Vám jde o vložení mezer na začátku řádku po automatickém zalomení, které Richtextbox dělá, tak tam budete muset asi stejně jako z klávesnice vložit nejprve konec řádku (protože Richtextbox evidentně nerozlišuje množství mezer při zalamování řádků (je to vidět, že pokud píšete do Richtextboxu, mezerníkem se na nový řádek nedostanete).

Takže normálně (podle způsobu, ke kterému jsme dospěli minule), vložte :

RTB.Select(15, 0)
RTB.SelectedText = vbCrLf & "      "

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

Ďakujem za odpoveď. Ide presne o to ako ste to napísali. Vami uvedený spôsob síce môj problém rieši, ale nie je to veľmi korektné. Lebo v podstate tam pribudne nový odstavec, ktorý v pôvodnom texte nie je. VB .net má, myslím, nejaké funkcie na odstánenie zbytočných medzier, ale zalomenie textu enterom sa spätne riešiť nedá. Tak či tak som vďačný za Vašu odpoveď a ak nenájdem nejaké iné použijem toto riešenie.

Príjemný večer.

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

Ano, přesně tak - této "prasárny" jsem si vědom, stejně tak jsem si vědom toho, že budete muset před použitím zkoumat, jastli náhodou už na řádku, se kterým chcete manipulovat, nový odstavec nezáčíná - pak byste totiž měl odřádkování dvě za sebou.

Nevím, jestli to půjde řešit jinak, protože když si vypíšete text vkládaný do RTB, tak pokud tam sázíte (na konec či začátek automaticky zalomeného řádku) mezery, tak v tom textu skutečně jsou, ale v RTB se to zalomí vždy tak, že řádek začíná znakem.

Zkoušel jsem ještě laborovat s kolekcí TRB.lines, ale to taky k ničemu nevede, protože pro tuto kolekci je jedna "line" vlastně celý odstavec.

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

Lubo, ještě mě teď napadla jedna možnost, jak to obejít. Je to sice stejně "nekorektní", ale na druhou stranu je to celkem dobře ošetřitelné v dalším kódu (na rozdíl od předchozích konců řádek).

Co kdybys do těch svých "volných prostor" dával místo mezery libovolný jiný znak, který si zvolíš. A pak bys měl dvě možnosti - předpokládat, že to "schováš" za svým obrázkem, nebo, ještě lépe, takto vložené znaky obarvit barvou pozadí RichTextBoxu. Znaky tak nebudou vidět, při další práci s textem nebude problém takové seskupení stejných znaků odfiltrovat (asi těžko se v běžném textu bude vyskytovat 6 či více stejných písmen vedle sebe, nebo když si zvolíš nějaký speciální znak, který se v textu běžně u nás nevyskytuje, bude to ještě jednodušší) no a takový znak bys pak měl bez problému nasázet i na začátek automaticky zalomeného řádku.

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

Ďakujem za námety. Príjemný večer.

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

Mimochodom. Gratulujem k zaslúženej odmene.

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

Dík, však jsi se na ní svými dotazy taky podílel! Jak jsem psal již autorům tohoto webu, hledání řešení na konkrétní problémy (a vůbec nezáleží na tom, že to jsou povětšinou problémy druhých) je ta nejlepší škola! A pokud někdy náhodou při tom ještě někomu pomohu, tím lépe. Však já se zde také dočkal pomoci druhých na mnoho problémů mých.

(co myslíš, až budeme společně slavit první narozeniny našeho Webu, uspořádají pro nás naši Weboví otcové (pánové Jecha a Herceg - teda asi bych měl napsat spíš registrovaní partneři :-)) nějaký sraz (třeba sponzorovaný firmou MS)? Celkem bych se s mnohými z Vás rád poznal osobně, protože jsem si tady už s Vámi nejednou docela dobře pokecal).

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

Dobrý nápad. Emotikony nepoznám, ale tento som si schválne vyhľadal :-)

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

Ty registrované partnery si nechte raději od cesty, někdo by si to mohl špatně vyložit. :-)

Jinak ten sraz je docela dobrý nápad, budeme o tom uvažovat, ale nic neslibujeme.

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

Nic ve zlém, já jenom v tu chvíli nevěděl, koho z Vás dvou nazvat "matkou" a koho "otcem" nás basicářů :-))

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