Applicare più stili ai font

di il
2 risposte

Applicare più stili ai font

Ciao,
in realtà non ho un problema ma una richiesta di chiarimenti: stavo provando a impostare il font di un bottone affinchè fosse *contemporaneamente* corsivo e sottolineato.
A intuito avrei provato con
Button4.Font = New Font("Microsoft sans serif", 12, FontStyle.Italic And FontStyle.Underline, GraphicsUnit.Point)
ma in questo modo non viene nè corsivo nè sottolineato.
Invece la risposta è
Button4.Font = New Font("Microsoft sans serif", 12, FontStyle.Italic Or FontStyle.Underline, GraphicsUnit.Point)
cioè con Or al posto di And. Oltretutto ho notato che funziona anche con Xor (che dovrebbe essere l'or esclusivo )
C'è qualcuno che può spiegarmi il perchè?

2 Risposte

  • Re: Applicare più stili ai font

    Ciao minomic,
    In C# (e negli altri linguaggi C-like) si distingue l' or logico '||' dall or binario '|', invece in Visual Basic si usa per entrambi l' operatore 'Or'. Se viene applicato a interi sarà un or binario se viene applicato a espressioni booleane sarà un or logico.
    FontStyle.Italic Or FontStyle.Underline
    questo è un or binario perchè abbiamo a che fare con costanti numeriche.
    
    00000000 0 Regular
    00000001 1 Bold
    00000010 2 Italic
    00000100 4 Underline
    00001000 8 Strikeout
    
    L' or binario tra Italic (2) e Underline (4) fa 6 ovvero 00000110, in pratica il terzo bit indica l' Underline e il secondo l' italic.

    Se tu facessi un 'And' tra Italic (2) e Underline(4) risulterebbe 0 cioe 'Regular'.

    minomic ha scritto:


    Oltretutto ho notato che funziona anche con Xor
    Lo Xor funziona solo in parte, se fai 'Bold' Xor 'Bold' risulta 0 ovvero 'Regular'.
  • Re: Applicare più stili ai font

    Risposta precisa ed esaustiva come al solito.
    Grazie, fa piacere sapere che c'è un posto con qualcuno sempre pronto ad aiutare!
Devi accedere o registrarti per scrivere nel forum
2 risposte