premenna a label   zodpovězená otázka

VB.NET

ahoj potreboval by som namiesto label1 spravit label(a nieaka premenna) ako aby nebolo tal label1 ale napr. labela da sa to ?? dakujem

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

Názov premennej ku ktorej pristupujete musí byť známy už pri preklade, takže zo Stringov poskládať meno a ísť na tú premennú nemôžete, ale každý Form má kolekciu Controls, a za ten názov môžete do zátvoriek dať názov Controlu v tvare akéhokoľvek výrazu.A výsledkom bude ten Label, iba pretypovaný na Control, takže niektoré členy neuvidíte, vtedy stačí pretypovať na typ Label pomocou CType.

For x As Integer = 0 To 9
  CType(Controls("label" & x),Label).Text = x
Next

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

diki moc pocuj len ked chcem nie text ale

 Label5.Font = New Font(Label5.Font.Name, Label5.Size.Height - 8, Label5.Font.Style)

tak mi vypise chybu proste chcem spravit aby sa mi text po pismenku zvedcoval a potom zmensoval ...

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

Samotný label zvládne maximálne nakresliť celý text jedným fontom. Buď si urobte vlastný control ako triedu, alebo použite RichTextBox s ReadOnly=True.

K tomu Vášmu kódu. Ja som si to dal pod Label.Click a raz to zmenšenie znieslo, ale pri druhom pokuse to chcelo vytvoriť Font s emSize=-1 . Keď chcete vykresliť text s veľkosťou, ktorá robí takéto problémy, môžte vykresliť text s normálnou veľkosťou do bitmapy a potom tu bitmapu nakresliť na Form. Jedno s preťažení metódy Graphics.DrawImage má ako argument DestinationSize . A pri zväčšovaní týmto spôsobom treba u Graphics toho formu nastaviť InterpolationMode na nejakú rozumnú hodnotu, aby to nebolo príliš hranaté.

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

Postupne zvětšit/zmenšit text by mělo jít i v labelu ale pouze celý text, ne postupně jednotlivá písmenka. V jednu chvíli může mít label přiřazený pouze jeden font.

Zvětšení celého textu by možná šlo udělat tak, že v cyklu postupně budete měnit velikost fontu od nějaké minimální po maximální hodnotu a mezi tím dáte vždy pauzu ma pár milisekund. Ovšem je to používání komponenty k něčemu, k čemu není dělaná. Netuším jak to bude plynulé a zda se na to bude dát koukat. Chce to vyzkoušet.

Pokud chcete dělat složitější efekty, doporučuji zkusit WPF to je na podobné věci dělané.

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

No to postupné menenie fontu a textu by spravilo akurát tak neznesiteľné blikanie. A dá sa vôbec niečo spraviť vo WPF jednoduchšie ako v WinForms ? Ja som už WPF skúšal a akurát

by som vedel spraviť nejaké jednoduchšie GUI pre nastavenia a pod.

A dosť mi vadí, že pokaždé, keď nechcem niečo centrovať, tak to musím zaboriť do Canvas alebo podobnej komponenty.

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

Tak som to aj vyskúšal a až tak ako som si myslel to nebliká, ale ťažko sa to číta, keďže každé písmeno vidím len malú chvíľu. Ja to viem aj tak prečítať, ale starí ľudia by s tím mali problém.Naozaj by trebalo urobiť vlastný label.

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

Je to jen o zvyku. Když jsem poprvé založil projekt ve WPF tak jsem nechápal o co tam jde, ale po prvotním šoku jsem se v tom pomalu zorientoval. Jde o to že přidávání komponent ve WPF je trochu odlišné od win form. Komponenty se umisťují do gridů, stackPanelů, canvasů apod. Ale po chvilce laborování si na to docela zvyknete. Navíc spoustu těchto panelů zarovnává komponenty tak jak si zvolíte a v jistých ohledech je pak práce pohodlnější (kromě Vámi uvedeného canvasu, ten moc nepoužívám protože se v něm komponenty pozicují absolutně).

Pokud by jste chtěl do wpf trochu proniknout tak zde je tutoriál pro začátečníky (v češtině) http://wpfstart.cz/Tutorials

A zde jsou složitější konstrukce (v angličtině) http://www.wpftutorial.net/

Teprve do toho pronikám a zkouším co to všechno umí, ale jde tam dělat spoustu vychytávek.

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