0 out of 17 rated this helpful Rate this topic

Unit Structure

Represents a length measurement.

Namespace:  System.Web.UI.WebControls
Assembly:  System.Web (in System.Web.dll)
[SerializableAttribute]
[TypeConverterAttribute(typeof(UnitConverter))]
public struct Unit

The Unit type exposes the following members.

  Name Description
Public method Unit(Double) Initializes a new instance of the Unit structure with the specified double precision floating point number.
Public method Unit(Int32) Initializes a new instance of the Unit structure with the specified 32-bit signed integer.
Public method Unit(String) Initializes a new instance of the Unit structure with the specified length.
Public method Unit(Double, UnitType) Initializes a new instance of the Unit structure with the specified double precision floating point number and UnitType.
Public method Unit(String, CultureInfo) Initializes a new instance of the Unit structure with the specified length and System.Globalization.CultureInfo.
Top
  Name Description
Public property IsEmpty Gets a value indicating whether the Unit is empty.
Public property Type Gets the unit type of the Unit.
Public property Value Gets the length of the Unit.
Top
  Name Description
Public method Equals Compares this Unit with the specified object. (Overrides ValueType.Equals(Object).)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method GetHashCode Returns a hash code for this Unit. (Overrides ValueType.GetHashCode.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method Static member Parse(String) Converts the specified string to a Unit.
Public method Static member Parse(String, CultureInfo) Converts the specified string and System.Globalization.CultureInfo to a Unit.
Public method Static member Percentage Creates a Unit of type Percentage from the specified double-precision floating-point number.
Public method Static member Pixel Creates a Unit of type Pixel from the specified 32-bit signed integer.
Public method Static member Point Creates a Unit of type Point from the specified 32-bit signed integer.
Public method ToString Infrastructure. Converts a Unit to a System.String. (Overrides ValueType.ToString.)
Public method ToString(CultureInfo) Converts a Unit to a string equivalent in the specified culture.
Public method ToString(IFormatProvider) Converts a Unit to a string equivalent using the specified format provider.
Top
  Name Description
Public operator Static member Equality Compares two Unit objects to determine whether they are equal.
Public operator Static member Widening(Int32 to Unit) Implicitly creates a Unit of type Pixel from the specified 32-bit unsigned integer.
Public operator Static member Inequality Compares two Unit objects to determine whether they are not equal.
Top
  Name Description
Public field Static member Empty Represents an empty Unit. This field is read-only.
Top

The Unit structure represents a length measurement that can be expressed in any HTML-compatible size unit. The UnitType enumeration lists the units of measurement that can be represented. The Unit is used by properties such as BorderWidth and Height to represent the length or width of the property. For example, you can set the BorderWidth property of a Web Server control to a Unit that represents five pixels.

Note Note

The Unit class can represent values only between -32768 and 32767.

Use the Value property to determine the length of the measurement. The unit of measurement is determined using the Type property. You can convert other data types to a Unit by using the Parse, Percentage, Pixel, and Point methods.

For a list of initial property values for an instance of Unit, see the Unit constructor.

Topic Location
How to: Set Web Server Control Unit Properties Building ASP .NET Web Applications
How to: Set Web Server Control Unit Properties Building ASP .NET Web Applications

The following code example demonstrates how to use a Style object to change the style properties of multiple controls at once. Each time one of the Style property values changes, each control must call its ApplyStyle method. Note that not all the controls support all the properties demonstrated. If a control does not support a particular property, the appearance of the control will not change when the property value is changed.


<!--  -->


...


<%@ Page Language="C#" %>
<%@ Import Namespace="System.Drawing" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    private Style primaryStyle = new Style();

    void Page_Load(object sender, System.EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            // Add data to the borderColorList, 
            // backColorList, and foreColorList controls.
            ListItemCollection colors = new ListItemCollection();
            colors.Add(Color.Black.Name);
            colors.Add(Color.Blue.Name);
            colors.Add(Color.Green.Name);
            colors.Add(Color.Orange.Name);
            colors.Add(Color.Purple.Name);
            colors.Add(Color.Red.Name);
            colors.Add(Color.White.Name);
            colors.Add(Color.Yellow.Name);
            borderColorList.DataSource = colors;
            borderColorList.DataBind();
            backColorList.DataSource = colors;
            backColorList.DataBind();
            foreColorList.DataSource = colors;
            foreColorList.DataBind();

            // Add data to the borderStyleList control.
            ListItemCollection styles = new ListItemCollection();
            Type styleType = typeof(BorderStyle);
            foreach (string s in Enum.GetNames(styleType))
            {
                styles.Add(s);
            }
            borderStyleList.DataSource = styles;
            borderStyleList.DataBind();

            // Add data to the borderWidthList control.
            ListItemCollection widths = new ListItemCollection();
            for (int i = 0; i < 11; i++)
            {
                widths.Add(i.ToString() + "px");
            }
            borderWidthList.DataSource = widths;
            borderWidthList.DataBind();

            // Add data to the fontNameList control.
            ListItemCollection names = new ListItemCollection();
            names.Add("Arial");
            names.Add("Courier");
            names.Add("Garamond");
            names.Add("Times New Roman");
            names.Add("Verdana");
            fontNameList.DataSource = names;
            fontNameList.DataBind();

            // Add data to the fontSizeList control.
            ListItemCollection fontSizes = new ListItemCollection();
            fontSizes.Add("Small");
            fontSizes.Add("Medium");
            fontSizes.Add("Large");
            fontSizes.Add("10pt");
            fontSizes.Add("14pt");
            fontSizes.Add("20pt");
            fontSizeList.DataSource = fontSizes;
            fontSizeList.DataBind();

            //Set primaryStyle as the style for each control.
            Label1.ApplyStyle(primaryStyle);
            ListBox1.ApplyStyle(primaryStyle);
            Button1.ApplyStyle(primaryStyle);
            Table1.ApplyStyle(primaryStyle);
            TextBox1.ApplyStyle(primaryStyle);
        }
    }
    void ChangeBorderColor(object sender, System.EventArgs e)
    {
        primaryStyle.BorderColor =
            Color.FromName(borderColorList.SelectedItem.Text);
        Label1.ApplyStyle(primaryStyle);
        ListBox1.ApplyStyle(primaryStyle);
        Button1.ApplyStyle(primaryStyle);
        Table1.ApplyStyle(primaryStyle);
        TextBox1.ApplyStyle(primaryStyle);
    }

    void ChangeBackColor(object sender, System.EventArgs e)
    {
        primaryStyle.BackColor =
            Color.FromName(backColorList.SelectedItem.Text);
        Label1.ApplyStyle(primaryStyle);
        ListBox1.ApplyStyle(primaryStyle);
        Button1.ApplyStyle(primaryStyle);
        Table1.ApplyStyle(primaryStyle);
        TextBox1.ApplyStyle(primaryStyle);
    }

    void ChangeForeColor(object sender, System.EventArgs e)
    {
        primaryStyle.ForeColor =
            Color.FromName(foreColorList.SelectedItem.Text);
        Label1.ApplyStyle(primaryStyle);
        ListBox1.ApplyStyle(primaryStyle);
        Button1.ApplyStyle(primaryStyle);
        Table1.ApplyStyle(primaryStyle);
        TextBox1.ApplyStyle(primaryStyle);
    }

    void ChangeBorderStyle(object sender, System.EventArgs e)
    {
        primaryStyle.BorderStyle =
            (BorderStyle)Enum.Parse(typeof(BorderStyle),
            borderStyleList.SelectedItem.Text);
        Label1.ApplyStyle(primaryStyle);
        ListBox1.ApplyStyle(primaryStyle);
        Button1.ApplyStyle(primaryStyle);
        Table1.ApplyStyle(primaryStyle);
        TextBox1.ApplyStyle(primaryStyle);
    }

    void ChangeBorderWidth(object sender, System.EventArgs e)
    {
        primaryStyle.BorderWidth =
            Unit.Parse(borderWidthList.SelectedItem.Text);
        Label1.ApplyStyle(primaryStyle);
        ListBox1.ApplyStyle(primaryStyle);
        Button1.ApplyStyle(primaryStyle);
        Table1.ApplyStyle(primaryStyle);
        TextBox1.ApplyStyle(primaryStyle);
    }

    void ChangeFont(object sender, System.EventArgs e)
    {
        primaryStyle.Font.Name =
            fontNameList.SelectedItem.Text;
        Label1.ApplyStyle(primaryStyle);
        ListBox1.ApplyStyle(primaryStyle);
        Button1.ApplyStyle(primaryStyle);
        Table1.ApplyStyle(primaryStyle);
        TextBox1.ApplyStyle(primaryStyle);
    }

    void ChangeFontSize(object sender, System.EventArgs e)
    {
        primaryStyle.Font.Size =
            FontUnit.Parse(fontSizeList.SelectedItem.Text);
        Label1.ApplyStyle(primaryStyle);
        ListBox1.ApplyStyle(primaryStyle);
        Button1.ApplyStyle(primaryStyle);
        Table1.ApplyStyle(primaryStyle);
        TextBox1.ApplyStyle(primaryStyle);
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

    <table cellpadding="6" border="0">
        <tr>
            <td rowspan="10" style="border:solid 1px Gray">
                <p>
                    <asp:label id="Label1" 
                        Text="Border Properties Example" Runat="server">
                        Label Styles
                    </asp:label>
                </p>
                <p>
                    <asp:button id="Button1" runat="server" 
                        Text="Button Styles">
                    </asp:button>
                </p>
                <p>
                    <asp:listbox id="ListBox1" Runat="server">
                        <asp:ListItem Value="0" Text="List Item 0">
                        </asp:ListItem>
                        <asp:ListItem Value="1" Text="List Item 1">
                        </asp:ListItem>
                        <asp:ListItem Value="2" Text="List Item 2">
                        </asp:ListItem>
                    </asp:listbox>
                </p>
                <p>
                    <asp:textbox id="TextBox1" 
                        Text="TextBox Styles" Runat="server">
                    </asp:textbox>
                </p>
                <p>
                    <asp:table id="Table1" Runat="server">
                        <asp:TableRow>
                            <asp:TableCell Text="(0,0)"></asp:TableCell>
                            <asp:TableCell Text="(0,1)"></asp:TableCell>
                        </asp:TableRow>
                        <asp:TableRow>
                            <asp:TableCell Text="(1,0)"></asp:TableCell>
                            <asp:TableCell Text="(1,1)"></asp:TableCell>
                        </asp:TableRow>
                    </asp:table>
                </p>
            </td>
            <td align="right">
                <asp:Label ID="Label2" runat="server" 
                    AssociatedControlID="borderColorList" 
                    Text="Border Color:">
                </asp:Label>
            </td>
            <td>
                <asp:dropdownlist id="borderColorList" 
                    Runat="server" AutoPostBack="True" 
                    OnSelectedIndexChanged="ChangeBorderColor">
                </asp:dropdownlist>
            </td>
        </tr>
        <tr>
            <td align="right">
                <asp:Label ID="Label3" Runat="server" 
                    AssociatedControlID="borderStyleList"
                    Text="Border Style:">
                </asp:Label>
            </td>
            <td>
                <asp:dropdownlist id="borderStyleList" 
                    Runat="server" AutoPostBack="True"
                    OnSelectedIndexChanged="ChangeBorderStyle">
                </asp:dropdownlist>
            </td>
        </tr>
        <tr>
            <td align="right">
                <asp:Label ID="Label4" Runat="server" 
                    AssociatedControlID="borderWidthList"
                    Text="Border Width">
                </asp:Label>
            </td>
            <td>
                <asp:dropdownlist id="borderWidthList" 
                    Runat="server" AutoPostBack="True"
                    OnSelectedIndexChanged="ChangeBorderWidth">
                </asp:dropdownlist>
            </td>
        </tr>
        <tr>
            <td align="right">
                <asp:Label ID="Label5" Runat="server" 
                    AssociatedControlID="backColorList"
                    Text="Back Color:">
                </asp:Label>
            </td>
            <td>
                <asp:dropdownlist id="backColorList" 
                    Runat="server" AutoPostBack="True"
                    OnSelectedIndexChanged="ChangeBackColor">
                </asp:dropdownlist>
            </td>
        </tr>
        <tr>
            <td align="right">
                <asp:Label ID="Label6" Runat="server" 
                    AssociatedControlID="foreColorList"
                    Text="Foreground Color:">
                </asp:Label>
            </td>
            <td>
                <asp:dropdownlist id="foreColorList" 
                    Runat="server" AutoPostBack="True"
                    OnSelectedIndexChanged="ChangeForeColor">
                </asp:dropdownlist>
            </td>
        </tr>
        <tr>
            <td align="right">
                <asp:Label ID="Label7" Runat="server" 
                    AssociatedControlID="fontNameList"
                    Text="Font Name:">
                </asp:Label>
            </td>
            <td>
                <asp:dropdownlist id="fontNameList" 
                    Runat="server" AutoPostBack="True"
                    OnSelectedIndexChanged="ChangeFont">
                </asp:dropdownlist>
            </td>
        </tr>
        <tr>
            <td align="right">
                <asp:Label ID="Label8" Runat="server" 
                    AssociatedControlID="fontSizeList"
                    Text="Font Size:">
                </asp:Label>
            </td>
            <td>
                <asp:dropdownlist id="fontSizeList" 
                    Runat="server" AutoPostBack="True" 
                    OnSelectedIndexChanged="ChangeFontSize">
                </asp:dropdownlist>
            </td>
        </tr>
    </table>

    </div>
    </form>
</body>
</html>


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(2000 characters remaining)
Community Content Add
Annotations FAQ
Need Better Example
Can we have better example for this?