This documentation is archived and is not being maintained.

ToolBarButton.Tag Property

Gets or sets the object that contains data about the toolbar button.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

[LocalizableAttribute(false)] 
[BindableAttribute(true)] 
public Object Tag { get; set; }
/** @property */
public Object get_Tag ()

/** @property */
public void set_Tag (Object value)

public function get Tag () : Object

public function set Tag (value : Object)

Property Value

An Object that contains data about the toolbar button. The default is a null reference (Nothing in Visual Basic).

Retrieves or assigns the data currently associated with the toolbar button. Any Object derived type can be assigned to this property. If this property is being set through the Windows Forms designer, only text can be assigned.

The following code example demonstrates how to use the Pushed, PartialPush, and Tag properties. To run the example, paste the following code in a form containing a RichTextBox control called RichTextBox1. Call the InitializeToolBar method in the form's constructor or Load method.


// Declare ToolBar1.
internal System.Windows.Forms.ToolBar ToolBar1;

// Initialize ToolBar1 with Bold(B), Italic(I), and 
// Underline(U) buttons.
private void InitializeToolBar()
{
    ToolBar1 = new ToolBar();

    // Set the appearance to Flat.
    ToolBar1.Appearance = ToolBarAppearance.Flat;

    // Set the toolbar to dock at the bottom of the form.
    ToolBar1.Dock = DockStyle.Bottom;

    // Set the toolbar font to 14 points and bold.
    ToolBar1.Font = new Font(FontFamily.GenericSansSerif,
        14, FontStyle.Bold);

    // Declare fontstyle array with the three font styles.
    FontStyle[] fonts = new FontStyle[]{FontStyle.Bold, 
        FontStyle.Italic, FontStyle.Underline};
    
    int count;

    // Create a button for each value in the array, setting its 
    // text to the first letter of the style and its 
    // button's tag property.
    for(count=0; count<fonts.Length; count++)
    {
        ToolBarButton fontButton = 
            new ToolBarButton(fonts[count].ToString().Substring(0, 1));
        fontButton.Style = ToolBarButtonStyle.ToggleButton;
        fontButton.Tag = fonts[count];
        ToolBar1.Buttons.Add(fontButton);
    }
    this.ToolBar1.ButtonClick += 
        new ToolBarButtonClickEventHandler(ToolBar1_ButtonClick);
    this.Controls.Add(this.ToolBar1);
}


// Declare FontStyle object, which defaults to the Regular
// FontStyle.
FontStyle style = new FontStyle();

private void ToolBar1_ButtonClick(object sender, 
    System.Windows.Forms.ToolBarButtonClickEventArgs e)
{

    // If a button is pushed, use a bitwise Or combination 
    // of the style variable and the button tag, to set style to 
    // the correct FontStyle. Set the button's PartialPush 
    // property to true for a Windows XP-like appearance.
    if (e.Button.Pushed)
    {
        e.Button.PartialPush = true;
        style = style |(FontStyle) e.Button.Tag;

    }
    else
    {
        // If the button was not pushed, use a bitwise XOR 
        // combination to turn off that style 
        // and set the PartialPush property to false.
        e.Button.PartialPush = false;
        style = style ^ (FontStyle) e.Button.Tag;
    }

    // Set the font using the existing RichTextBox font and the new
    // style.
    RichTextBox1.Font = new Font(RichTextBox1.Font, style);

}

// Declare ToolBar1.
System.Windows.Forms.ToolBar toolBar1;

// Initialize ToolBar1 with Bold(B), Italic(I), and 
// Underline(U) buttons.
private void InitializeToolBar()
{
    toolBar1 = new ToolBar();
    // Set the appearance to Flat.
    toolBar1.set_Appearance(ToolBarAppearance.Flat);
    // Set the toolbar to dock at the bottom of the form.
    toolBar1.set_Dock(DockStyle.Bottom);
    // Set the toolbar font to 14 points and bold.
    toolBar1.set_Font(new Font(FontFamily.get_GenericSansSerif(), 14,
        FontStyle.Bold));
    // Declare fontstyle array with the three font styles.
    FontStyle fonts[] = new FontStyle[] { FontStyle.Bold, FontStyle.Italic,
        FontStyle.Underline };

    int count;
    // Create a button for each value in the array, setting its 
    // text to the first letter of the style and its 
    // button's tag property.
    for (count = 0; count < fonts.length; count++) {
        ToolBarButton fontButton = new ToolBarButton(fonts.get_Item(count).
            ToString().Substring(0, 1));
        fontButton.set_Style(ToolBarButtonStyle.ToggleButton);
        fontButton.set_Tag(fonts.get_Item(count));
        toolBar1.get_Buttons().Add(fontButton);
    }
    this.toolBar1.add_ButtonClick(new ToolBarButtonClickEventHandler(
        toolBar1_ButtonClick));
    this.get_Controls().Add(this.toolBar1);
} //InitializeToolBar

// Declare FontStyle object, which defaults to the Regular
// FontStyle.
private FontStyle style;

private void toolBar1_ButtonClick(Object sender,
    System.Windows.Forms.ToolBarButtonClickEventArgs e)
{
    // If a button is pushed, use a bitwise Or combination 
    // of the style variable and the button tag, to set style to 
    // the correct FontStyle. Set the button's PartialPush 
    // property to true for a Windows XP-like appearance.
    if (e.get_Button().get_Pushed()) {
        e.get_Button().set_PartialPush(true);
        style = style | ( FontStyle)e.get_Button().get_Tag();
    }
    else {
        // If the button was not pushed, use a bitwise XOR 
        // combination to turn off that style 
        // and set the PartialPush property to false.
        e.get_Button().set_PartialPush(false);
        style = style ^ (FontStyle)e.get_Button().get_Tag();
    }
    // Set the font using the existing RichTextBox font and the new
    // style.
    richTextBox1.set_Font(new Font(richTextBox1.get_Font(), style));
} //toolBar1_ButtonClick 

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0
Show: