65.9K
CodeProject is changing. Read more.
Home

FontInfo property for ASP.NET components

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.18/5 (7 votes)

Dec 5, 2005

CPOL
viewsIcon

33571

An article on how to create a FontInfo property for an ASP.NET component.

Introduction

During the development of some ASP.NET components, I experienced a bit of a trouble implementing the FontInfo property for ASP.NET components. First of all, I didn't find a public constructor for the FontInfo class. But there is a Style class which could be used to create a FontInfo instance.

FontInfo  _myFont;
Style _style;
_style=new System.Web.UI.WebControls.Style();
_myFont =style.Font;

Another thing I've found is that the newly created FontInfo property is not serialized in the ASPX form like other properties. And every time I reopen the web form, at design time, the FontInfo property gets its default value = "". This problem was solved by adding the DesignerSerializationVisibility attribute:

<Bindable(true),DesignerSerializationVisibility(DesignerSerializationVisibility.Content),
     Category("Appearance"),
   Description ("My font property.")>
public FontInfo MyFont
{...}

Now the control on the web form serializes the information about the FontInfo property:

<cc1:mywebcontrol id="MyWebControl1" runat="server" 
        Height="50px" Width="450px"
        MyFont-Names="Century Gothic" MyFont-Italic="True" >
</cc1:mywebcontrol>

Hope that helps!