TextBox autoResize

Forum poświęcone językowi C#.

Moderator: xxSlayeRxx

TextBox autoResize

Sponsor

Sponsor
 

TextBox autoResize

Postprzez narf » So paź 05, 2013 12:20 pm

Witam.
Postanowiłem się zmierzyć nietypowym problemem, na który natrafiłem dawno temu ale niestety odpuściłem. Mianowicie chodzi o auto dopasowywanie się wielkości textBoxa do tekstu w nim zawartego. Cel był taki by zaprezentować rozmowę na chacie w postaci chmurek znanych między innymi z telefonów. Przykładowa pojedyncza wypowiedź w załączniku.
Załóżmy, że pobieramy tekst, np. z bazy danych. Ustawiamy właściwość Multiline=true;

Pomimo tego, że textBox wyświetla tekst w kilku liniach to wartość textBox1.Lines.Count() zwraca wartość 1. Czy istnieje jakakolwiek informacja o tym ile tak naprawdę jest tam linii wyświetlanego tekstu?
Próbowałem liczyć szerokość tekstu w pixelach, zamieniając go na grafikę a potem dzielić przez szerokość textboxa i w ten sposób uzyskać ilość linii (wysokość lini znam). Jednak plan ten bierze w łeb ponieważ textbox nie dzieli ostatniego wyrazu (gdy ten nie mieści się w linii) tylko przenosi go do nowego wiersza. W ten sposób uzyskuję błędną informację i dlatego textbox jest zbyt wysoki. Ramkę dookoła textboxa zbudowałem rysując grafikę z plików jpg. TextBox wyróżniony jest w środku obramowaniem szerokości 1px.

Mam nadzieję że wyraziłem się jasno. Czekam na sugestie
Załączniki
przyklad.jpg
przyklad.jpg (132.3 KiB) Przeglądane 1064 razy
narf
New member
 
Posty: 5
Dołączył(a): So paź 05, 2013 11:53 am

TextBox autoResize

Sponsors

Sponsor
 

Powrót do C#

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 10 gości