Tech Off Post

Single Post Permalink

View Thread: Rich Text Box Font
  • User profile image
    amotif

    SEP2007 wrote:
    But if the rich text box has a font object *as part of it* (?)

    I.e. it uses a font object within its make-up

    Why can't I access that ?


    But you can access it, the RichTextBox.Font property has both a getter and a setter. However, if memory doesn't fail me, the Font class is immutable--you can't change the Font object's fields. So you can't just set Font.FontFamily. You have to create a new instance of Font and set that on the RichTextBox. That's a feature of Font, not RichTextBox.

    This probably works out well for RichTextBox, as it would like to know when the font changes, so forcing you to use a setter makes it clear when the font changed. Hypothetically,

    class RichTextBox
    {
        Font Font
        {
            set
            {
                // Ah, we're changing the font!
                _font = value;
                InvalidateLayout(); // Force a layout and redraw.
            }
            get
            {
                return _font;
            }
        }
    }

    Or some such thing.