ToolBarButton.Tag Property

Definition

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

public:
 property System::Object ^ Tag { System::Object ^ get(); void set(System::Object ^ value); };
[System.ComponentModel.Bindable(true)]
[System.ComponentModel.TypeConverter(typeof(System.ComponentModel.StringConverter))]
public object Tag { get; set; }
[<System.ComponentModel.Bindable(true)>]
[<System.ComponentModel.TypeConverter(typeof(System.ComponentModel.StringConverter))>]
member this.Tag : obj with get, set
Public Property Tag As Object

Property Value

An Object that contains data about the toolbar button. The default is null.

Attributes

Examples

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;

private:

   // Initialize ToolBar1 with Bold(B), Italic(I), and 
   // Underline(U) buttons.
   void InitializeToolBar()
   {
      ToolBar1 = gcnew 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 = gcnew System::Drawing::Font( FontFamily::GenericSansSerif,14,FontStyle::Bold );
      
      // Declare fontstyle array with the three font styles.
      array<FontStyle>^ fonts = {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 = gcnew ToolBarButton( fonts[ count ].ToString()->Substring( 0, 1 ) );
         fontButton->Style = ToolBarButtonStyle::ToggleButton;
         fontButton->Tag = fonts[ count ];
         ToolBar1->Buttons->Add( fontButton );

      }
      this->ToolBar1->ButtonClick += gcnew ToolBarButtonClickEventHandler( this, &Form1::ToolBar1_ButtonClick );
      this->Controls->Add( this->ToolBar1 );
   }

   // Declare FontStyle object, which defaults to the Regular
   // FontStyle.
   FontStyle style;
   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 = (FontStyle)(style | safe_cast<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 = (FontStyle)(style ^ safe_cast<FontStyle>(e->Button->Tag));
      }

      // Set the font using the existing RichTextBox font and the new
      // style.
      RichTextBox1->Font = gcnew System::Drawing::Font( RichTextBox1->Font,style );
   }

// 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.
Friend WithEvents ToolBar1 As System.Windows.Forms.ToolBar

' Initialize ToolBar1 with Bold(B), Italic(I), and Underline(U) buttons.
Private Sub 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 System.Drawing.Font _
        (FontFamily.GenericSansSerif, 14, FontStyle.Bold)

    ' Declare fontstyle array with the three font styles.
    Dim fonts() As FontStyle = New FontStyle() _
        {FontStyle.Bold, FontStyle.Italic, FontStyle.Underline}
    Dim count As Integer

    ' 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 To fonts.Length - 1
        Dim fontButton As New ToolBarButton(fonts(count). _
            ToString.Substring(0, 1))
        fontButton.Style = ToolBarButtonStyle.ToggleButton
        fontButton.Tag = fonts(count)
        ToolBar1.Buttons.Add(fontButton)
    Next
    Me.Controls.Add(Me.ToolBar1)
End Sub


' Declare FontStyle object, which defaults to the Regular FontStyle.
Dim style As New FontStyle

Private Sub ToolBar1_ButtonClick(ByVal sender As Object, _
    ByVal e As System.Windows.Forms.ToolBarButtonClickEventArgs) _
    Handles ToolBar1.ButtonClick

    ' 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) Then
        e.Button.PartialPush = True
        style = style Or 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 Xor e.Button.Tag
    End If

    ' Set the font using the existing RichTextBox font and the new
    ' style.
    RichTextBox1.Font = New Font(RichTextBox1.Font, style)
End Sub

Remarks

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.

Applies to

See also