Kontrolka Label z zawijaniem tekstu

0

Cześć Koledzy,

Oczywiście zwracam się do Was z pewnym problemem. Muszę przygotować formatkę w której jednym z elementów jest kontrolka Label. Mam jednak postawić przed nią pewne wymagania... otóż chciałbym by posiadała zadeklarowaną ściśle szerokość, a wysokość była dostosowywane do treści jaka się w niej znajdzie, przy dodatkowym zawijaniem tekstu (nie dzieleniu wyrazów).

Możecie podsunąć mi propozycje co do rozwiązania problemu?

0
label1.AutoSize = false;
label1.Size = new Size(300,300);

Jeżeli zmienisz atrybut AutoSize na false to rozmiar będziesz mógł sam ustalić i nie będzie się on zmieniał dynamicznie (przy zmienianiu tekstu). Tekst będzie się automatycznie zawijał. Problem wyczuwam w zmianie wyskości, ale proponuję abyś ustawił ją na maksymalną (tzn tyle ile tam masz miejsca), o ile tekst nie będzie za długi to wszystko będzie ok.

0

Właściwość AutoSize kontrolki Label znam. Niestety nie jest ona tym czego szukam. Jej ustawienie faktyczne pozwala na automatyczne określenie rozmiarów obszaru zawierającego tekst, ale tylko w kontekście znajdującego się wewnątrz niego tekstu - nie ma możliwości niejawnego zawijania tekstu.

W tym momencie bliżej skłaniał bym się własnego przygotowania kontrolki, tyle że nie bardzo wiem jak rysować tekst. Nie mogłem znaleźć żadnej metody w namespace System.Drawing.* - stąd w tym kontekście bym teraz podążał.

0
grzeswisniewski napisał(a)

... Jej ustawienie faktyczne pozwala na automatyczne określenie rozmiarów obszaru zawierającego tekst, ale tylko w kontekście znajdującego się wewnątrz niego tekstu - nie ma możliwości niejawnego zawijania tekstu.

8-O skoro AutoSize jest wyłączone to nie ma żadnego automatycznego określania rozmiaru tylko jest ustawiane "ręcznie", więc nie wiem o czym piszesz!

Co rozumiesz przez "niejawne zawijanie tekstu" ?
Ja dodawałem label1 do formatki i ustawiłem AutoSize=false i rozmiar, a tekst który przypisywałem do kontrolki automatycznie się zawijał i o ile mieścił się w obszarze kontrolki wszystko gra jak trzeba.

Może masz problem z tym, że bardzo często jest tam za dużo tekstu i nie chcesz aby on zniknął, ale w takim wypadku Label to nie jest chyba najlepsze rozwiązanie. Może zamiast Label użyj TextBox z opcją Multiline=trure i Editable=false, a wygląd możesz dostosować do kontrolki label (Tło, Border, Font ... etc)

0

wystarczy że ustawisz automatyczny rozmiar labela oraz maksymalną szerokość, tekst bedzie automatycznie zawijany :d

domyslam sie ze temat nieaktualny ale sam szukalem dlugo odpowiedzi na to pytanie wiec dziele sie z innymi odpowiedzia

0
Belenos napisał(a)

wystarczy że ustawisz automatyczny rozmiar labela oraz maksymalną szerokość, tekst bedzie automatycznie zawijany

Dzięki

1 użytkowników online, w tym zalogowanych: 0, gości: 1