Home All Groups Group Topic Archive Search About

Font with Bold and italic

Author
31 Jul 2006 10:34 AM
paraidy
Hi, i'm using a richtextbox named r1, and i want to write in Bold and
italic, i tryed this for bold and it work

Dim f As New Font("Verdana", 30, FontStyle.Bold)
        r1.Font = f
        r1.Text = "Hello"

but if i try this for bold and italic it doesn't work

Dim f As New Font("Verdana", 30, FontStyle.Bold And FontStyle.Italic)
        r1.Font = f
        r1.Text = "Hello"

so how can i write in bold and italic?
Thx :)

Author
31 Jul 2006 10:39 AM
sweet_dreams
paraidy napisal(a):
Show quoteHide quote
> Hi, i'm using a richtextbox named r1, and i want to write in Bold and
> italic, i tryed this for bold and it work
>
> Dim f As New Font("Verdana", 30, FontStyle.Bold)
>         r1.Font = f
>         r1.Text = "Hello"
>
> but if i try this for bold and italic it doesn't work
>
> Dim f As New Font("Verdana", 30, FontStyle.Bold And FontStyle.Italic)
>         r1.Font = f
>         r1.Text = "Hello"
>
> so how can i write in bold and italic?
> Thx :)

Hi,

Try this code

Dim NewFont As New Font(RichTextBox1.Font, FontStyle.Bold +
FontStyle.Italic)
RichTextBox1.Font = NewFont

Hope this help.
Regards,
sweet_dreams
Author
31 Jul 2006 11:12 AM
paraidy
sweet_dreams ha scritto:

> Hi,
>
> Try this code
>
> Dim NewFont As New Font(RichTextBox1.Font, FontStyle.Bold +
> FontStyle.Italic)
> RichTextBox1.Font = NewFont


Yes it worked, thx a lot :)
Author
31 Jul 2006 3:54 PM
Mythran
Show quote Hide quote
"paraidy" <samore***@tiscali.it> wrote in message
news:1154344365.658356.22780@b28g2000cwb.googlegroups.com...
>
> sweet_dreams ha scritto:
>
>> Hi,
>>
>> Try this code
>>
>> Dim NewFont As New Font(RichTextBox1.Font, FontStyle.Bold +
>> FontStyle.Italic)
>> RichTextBox1.Font = NewFont
>
>
> Yes it worked, thx a lot :)
>

The + works, but what you are doing is a bitwise operation against an
enumeration value.  The FontStyle has the FlagsAttribute associated with it
so we know we can treat them as binary flags.  (look up the FlagsAttribute
for more information on the following information)

What it should be is:

Dim NewFont As New Font(RichTextBox1.Font, FontStyle.Bold Or
FontStyle.Italic)
RichTextBox1.Font = NewFont

The reason your FontStyle.Bold And FontStyle.Italic didn't work is:

FontStyle.Bold = 1 = 0001 ' in binary
FontStyle.Italic = 2 = 0010 ' in binary


So...the result of your AND statement = 0001 And 0010 = 0000 (all off).

What you want is an OR = 0001 Or 0010 = 0011 (last two bits which represents
the two flags, Bold and Italic, turned on).  It just so happens that using
regular addition on those values will give you the same result :)

HTH you understand it better ... for future reference,
Mythran
Author
9 Aug 2006 7:52 PM
paraidy
Mythran wrote:
Show quoteHide quote
> "paraidy" <samore***@tiscali.it> wrote in message
> news:1154344365.658356.22780@b28g2000cwb.googlegroups.com...
> >
> > sweet_dreams ha scritto:
> >
> >> Hi,
> >>
> >> Try this code
> >>
> >> Dim NewFont As New Font(RichTextBox1.Font, FontStyle.Bold +
> >> FontStyle.Italic)
> >> RichTextBox1.Font = NewFont
> >
> >
> > Yes it worked, thx a lot :)
> >
>
> The + works, but what you are doing is a bitwise operation against an
> enumeration value.  The FontStyle has the FlagsAttribute associated with it
> so we know we can treat them as binary flags.  (look up the FlagsAttribute
> for more information on the following information)
>
> What it should be is:
>
> Dim NewFont As New Font(RichTextBox1.Font, FontStyle.Bold Or
> FontStyle.Italic)
> RichTextBox1.Font = NewFont
>
> The reason your FontStyle.Bold And FontStyle.Italic didn't work is:
>
> FontStyle.Bold = 1 = 0001 ' in binary
> FontStyle.Italic = 2 = 0010 ' in binary
>
>
> So...the result of your AND statement = 0001 And 0010 = 0000 (all off).
>
> What you want is an OR = 0001 Or 0010 = 0011 (last two bits which represents
> the two flags, Bold and Italic, turned on).  It just so happens that using
> regular addition on those values will give you the same result :)
>
> HTH you understand it better ... for future reference,
> Mythran

Understood now, thx a lot :)