แก้ไข

แชร์ผ่าน


ToolBarButton.PartialPush Property

Definition

Gets or sets a value indicating whether a toggle-style toolbar button is partially pushed.

public:
 property bool PartialPush { bool get(); void set(bool value); };
public bool PartialPush { get; set; }
member this.PartialPush : bool with get, set
Public Property PartialPush As Boolean

Property Value

true if a toggle-style toolbar button is partially pushed; otherwise, false. The default is false.

Examples

The following code example demonstrates how to use the Pushed, and PartialPush 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

When PartialPush is set to true, the toolbar button appears to have its face grayed. This appearance is different from the dimmed appearance when the Enabled property is set to false since the partial-push appearance gives a haze to the entire button face. This property has no effect unless the ToolBarButtonStyle is set to ToggleButton.

Applies to

See also