Font např. Labelu   zodpovězená otázka

VB.NET, WinForms

Dobrý den,

mám jen malý dotaz týkající se fontu např. buttonu nebo labelu. Zajímalo by mě jak se dá programově změnit font labelu, aby text byl např tlustý nebo kurzíva. Dříve jsem pracoval v VBA kde to bylo jednoduché, stačilo napsat:

label1.Font.Bold = True

Takhle mi to ale v VB2005 express nejde. Můžete mi prosím poradit? Nikde to nemůžu najít...

ttom.ass

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

Pokud chcete změnit font, potřebujete vytvořit nový.

Label1.Font = New Font("Times New Roman", 32, FontStyle.Bold)

První parametr je název písma. Druhý je velikost a poslední je styl, tedy tučný.

label1.Font.Bold = True

Vlastnost Bold je typu Read-Only tedy jenom pro čtení, nelze do ní přiřazovat.

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

Moc děkuji,

teď mám ale další problém... Potřeboval bych mít label 'Bold' a současně 'Italic', šlo by to?

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

To taky opravdu nevím, nechal bych se poradit:-)

Zkoušel sem to ale takto:

Label1.Font = New Font("Times New Roman", 15, FontStyle.Italic And FontStyle.Bold)

Nicméně tento kód zobrazí jenom tučné písmo.

Ale ve vlastnostech komponenty(Properties) se dá nastavit bold i italic.

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

Jdete na to dobře, jenom místo AND musíte použít OR, viz např. :

Label1.Font = New Font("Arial", 40, FontStyle.Bold Or FontStyle.Italic Or FontStyle.Underline)

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

SUPER!!

Konečně to mám! Už jsem musel být v práci přesčas...

Díky díky díky!!!

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

Jenom pro úplnost (dost často se to ve VB používá) to OR není v tomto případě logický operátor, ale bitový, tzn. vy vlastně takto skládáte bitové příznaky jenotlivých vlastností. Dá se to představit tak, že báte bajt (pro jednoduchost 1), kde každý bit představuje nějakou vlastnost:

00000001 - bit na místě jednotek představuje vlastnost bold (je či není)

00000010 - bit na místě druhém představuje italic (je či není)

00000100 - další bit underline

00001000 - další strikeout

a tím OR složíte potřebné bity dohromady, čili (dle příkladu výše) 00000001 (bold) OR 00000010 (italic) OR 00000100 (underline) = 00000111 (jinak řečeno, jako u "logického OR" na místě, kde se objeví alespoň jednou jednička, bude tato i ve výsledku).

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

Přesně tak, v tomto případě se Or chová jako obyčejné sčítání.

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

Bude to zhruba v tom významu

jako ve VB kdy se sčítali např. v MSGBOXu

váhy tlačítek a desingu

jako že

OKCancel = např. 1

Critical = např. 16

A následně se použilo

Msgbox "Ahoj",17,"Titulek"

For a = 0 To 5
    MsgBox "Hodnota = " & a, a, "Titulek"
Next

For a = 1 To 4

b = a * 16
    MsgBox "Hodnota = " & b, b, "Titulek"
Next

nahlásit spamnahlásit spam -1 / 1 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