ToolStripControlHost 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
裝載 (Host) 自訂控制項或 Windows Form 控制項。
public ref class ToolStripControlHost : System::Windows::Forms::ToolStripItem
public class ToolStripControlHost : System.Windows.Forms.ToolStripItem
type ToolStripControlHost = class
inherit ToolStripItem
Public Class ToolStripControlHost
Inherits ToolStripItem
- 繼承
- 繼承
- 衍生
範例
下列程式碼範例示範使用 MonthCalendar 控制項建構 ToolStripControlHost 、使用 OnSubscribeControlEvents 來處理事件,以及向 公開其部分成員 ToolStripControlHost 。
//Declare a class that inherits from ToolStripControlHost.
public ref class ToolStripMonthCalendar: public ToolStripControlHost
{
public:
// Call the base constructor passing in a MonthCalendar instance.
ToolStripMonthCalendar() : ToolStripControlHost( gcnew MonthCalendar ) {}
property MonthCalendar^ MonthCalendarControl
{
MonthCalendar^ get()
{
return static_cast<MonthCalendar^>(Control);
}
}
property Day FirstDayOfWeek
{
// Expose the MonthCalendar.FirstDayOfWeek as a property.
Day get()
{
return MonthCalendarControl->FirstDayOfWeek;
}
void set( Day value )
{
MonthCalendarControl->FirstDayOfWeek = value;
}
}
// Expose the AddBoldedDate method.
void AddBoldedDate( DateTime dateToBold )
{
MonthCalendarControl->AddBoldedDate( dateToBold );
}
protected:
// Subscribe and unsubscribe the control events you wish to expose.
void OnSubscribeControlEvents( System::Windows::Forms::Control^ c )
{
// Call the base so the base events are connected.
__super::OnSubscribeControlEvents( c );
// Cast the control to a MonthCalendar control.
MonthCalendar^ monthCalendarControl = (MonthCalendar^)c;
// Add the event.
monthCalendarControl->DateChanged += gcnew DateRangeEventHandler( this, &ToolStripMonthCalendar::HandleDateChanged );
}
void OnUnsubscribeControlEvents( System::Windows::Forms::Control^ c )
{
// Call the base method so the basic events are unsubscribed.
__super::OnUnsubscribeControlEvents( c );
// Cast the control to a MonthCalendar control.
MonthCalendar^ monthCalendarControl = (MonthCalendar^)c;
// Remove the event.
monthCalendarControl->DateChanged -= gcnew DateRangeEventHandler( this, &ToolStripMonthCalendar::HandleDateChanged );
}
public:
event DateRangeEventHandler^ DateChanged;
private:
// Declare the DateChanged event.
// Raise the DateChanged event.
void HandleDateChanged( Object^ sender, DateRangeEventArgs^ e )
{
if ( DateChanged != nullptr )
{
DateChanged( this, e );
}
}
};
//Declare a class that inherits from ToolStripControlHost.
public class ToolStripMonthCalendar : ToolStripControlHost
{
// Call the base constructor passing in a MonthCalendar instance.
public ToolStripMonthCalendar() : base (new MonthCalendar()) { }
public MonthCalendar MonthCalendarControl
{
get
{
return Control as MonthCalendar;
}
}
// Expose the MonthCalendar.FirstDayOfWeek as a property.
public Day FirstDayOfWeek
{
get
{
return MonthCalendarControl.FirstDayOfWeek;
}
set { MonthCalendarControl.FirstDayOfWeek = value; }
}
// Expose the AddBoldedDate method.
public void AddBoldedDate(DateTime dateToBold)
{
MonthCalendarControl.AddBoldedDate(dateToBold);
}
// Subscribe and unsubscribe the control events you wish to expose.
protected override void OnSubscribeControlEvents(Control c)
{
// Call the base so the base events are connected.
base.OnSubscribeControlEvents(c);
// Cast the control to a MonthCalendar control.
MonthCalendar monthCalendarControl = (MonthCalendar) c;
// Add the event.
monthCalendarControl.DateChanged +=
new DateRangeEventHandler(OnDateChanged);
}
protected override void OnUnsubscribeControlEvents(Control c)
{
// Call the base method so the basic events are unsubscribed.
base.OnUnsubscribeControlEvents(c);
// Cast the control to a MonthCalendar control.
MonthCalendar monthCalendarControl = (MonthCalendar) c;
// Remove the event.
monthCalendarControl.DateChanged -=
new DateRangeEventHandler(OnDateChanged);
}
// Declare the DateChanged event.
public event DateRangeEventHandler DateChanged;
// Raise the DateChanged event.
private void OnDateChanged(object sender, DateRangeEventArgs e)
{
if (DateChanged != null)
{
DateChanged(this, e);
}
}
}
'Declare a class that inherits from ToolStripControlHost.
Public Class ToolStripMonthCalendar
Inherits ToolStripControlHost
' Call the base constructor passing in a MonthCalendar instance.
Public Sub New()
MyBase.New(New MonthCalendar())
End Sub
Public ReadOnly Property MonthCalendarControl() As MonthCalendar
Get
Return CType(Control, MonthCalendar)
End Get
End Property
' Expose the MonthCalendar.FirstDayOfWeek as a property.
Public Property FirstDayOfWeek() As Day
Get
Return MonthCalendarControl.FirstDayOfWeek
End Get
Set
MonthCalendarControl.FirstDayOfWeek = value
End Set
End Property
' Expose the AddBoldedDate method.
Public Sub AddBoldedDate(ByVal dateToBold As DateTime)
MonthCalendarControl.AddBoldedDate(dateToBold)
End Sub
' Subscribe and unsubscribe the control events you wish to expose.
Protected Overrides Sub OnSubscribeControlEvents(ByVal c As Control)
' Call the base so the base events are connected.
MyBase.OnSubscribeControlEvents(c)
' Cast the control to a MonthCalendar control.
Dim monthCalendarControl As MonthCalendar = _
CType(c, MonthCalendar)
' Add the event.
AddHandler monthCalendarControl.DateChanged, _
AddressOf HandleDateChanged
End Sub
Protected Overrides Sub OnUnsubscribeControlEvents(ByVal c As Control)
' Call the base method so the basic events are unsubscribed.
MyBase.OnUnsubscribeControlEvents(c)
' Cast the control to a MonthCalendar control.
Dim monthCalendarControl As MonthCalendar = _
CType(c, MonthCalendar)
' Remove the event.
RemoveHandler monthCalendarControl.DateChanged, _
AddressOf HandleDateChanged
End Sub
' Declare the DateChanged event.
Public Event DateChanged As DateRangeEventHandler
' Raise the DateChanged event.
Private Sub HandleDateChanged(ByVal sender As Object, _
ByVal e As DateRangeEventArgs)
RaiseEvent DateChanged(Me, e)
End Sub
End Class
備註
ToolStripControlHost 是 ToolStripComboBox、ToolStripTextBox 和 ToolStripProgressBar 的基底類別。 ToolStripControlHost 可以透過兩種方式裝載其他控制項,包括自訂控制項:
ToolStripControlHost使用衍生自 Control 的類別建構 。 若要完全存取裝載的控制項和屬性,您必須將 Control 屬性轉換回它所代表的實體類別。
擴充 ToolStripControlHost 繼承類別的無參數建構函式中的 和 ,呼叫基類建構函式,傳遞衍生自 Control 的類別。 此選項可讓您包裝常見的控制項方法和屬性,以便輕鬆在 中 ToolStrip 存取。
使用 類別 ToolStripControlHost 來裝載自訂控制項或任何其他Windows Forms控制項。
若要自訂 ToolStripItem ,請衍生自 ToolStripControlHost 並建立自訂實作。 您可以覆寫方法,例如 OnSubscribeControlEvents 處理裝載控制項所引發的事件,而且您可以將自訂功能放入屬性中,以增強裝載的控制項。
建構函式
ToolStripControlHost(Control) |
初始化 ToolStripControlHost 類別的新執行個體,而這個類別會裝載指定的控制項。 |
ToolStripControlHost(Control, String) |
初始化 ToolStripControlHost 類別的新執行個體,而這個類別會裝載指定的控制項且具有指定的名稱。 |
屬性
AccessibilityObject |
取得指定給控制項的 AccessibleObject。 (繼承來源 ToolStripItem) |
AccessibleDefaultActionDescription |
取得或設定協助用戶端應用程式所使用的控制項的預設動作描述。 (繼承來源 ToolStripItem) |
AccessibleDescription |
取得或設定將報告給協助工具用戶端應用程式的描述。 (繼承來源 ToolStripItem) |
AccessibleName |
取得或設定協助工具用戶端應用程式使用的控制項名稱。 (繼承來源 ToolStripItem) |
AccessibleRole |
取得或設定控制項的可存取角色,此角色可指定控制項的使用者介面項目之類型。 (繼承來源 ToolStripItem) |
Alignment |
取得或設定值,指出項目是否會向 ToolStrip 的開頭或結尾對齊。 (繼承來源 ToolStripItem) |
AllowDrop |
取得或設定值,指出拖放和項目的重新排列是否透過您實作的事件來加以處理。 (繼承來源 ToolStripItem) |
Anchor |
取得或設定 ToolStripItem 繫結容器的目的邊緣,並決定 ToolStripItem 隨其父代調整大小的方式。 (繼承來源 ToolStripItem) |
AutoSize |
取得或設定值,指出項目是否會自動調整大小。 (繼承來源 ToolStripItem) |
AutoToolTip |
取得或設定值,這個值指出是否要針對 ToolTipText 工具提示使用 Text 屬性或 ToolStripItem 屬性。 (繼承來源 ToolStripItem) |
Available |
取得或設定值,指出 ToolStripItem 是否應該置於 ToolStrip 上。 (繼承來源 ToolStripItem) |
BackColor |
取得或設定控制項的背景色彩。 |
BackgroundImage |
取得或設定在控制項中顯示的背景影像。 |
BackgroundImageLayout |
取得或設定在 |
BindingContext |
取得或設定 IBindableComponent 的 Currency 管理員集合。 (繼承來源 BindableComponent) |
Bounds |
取得項目的大小和位置。 (繼承來源 ToolStripItem) |
CanRaiseEvents |
取得值,指出元件是否能引發事件。 (繼承來源 Component) |
CanSelect |
取得指示能否選取控制項的值。 |
CausesValidation |
取得或設定值,指出在裝載控制項取得焦點時,裝載控制項是否會導致並引發其他控制項的驗證事件。 |
Command |
取得或設定 ICommand 叫用 ToolStripItem 事件時,將會呼叫其 Execute(Object) 方法的 Click 。 (繼承來源 ToolStripItem) |
CommandParameter |
取得或設定傳遞至指派給 ICommand 屬性之 的參數 Command 。 (繼承來源 ToolStripItem) |
Container |
取得包含 IContainer 的 Component。 (繼承來源 Component) |
ContentRectangle |
取得類似文字和圖示的內容可以放置到 ToolStripItem 內,而不需要覆寫背景框線的區域。 (繼承來源 ToolStripItem) |
Control |
取得這個 Control 所裝載的 ToolStripControlHost。 |
ControlAlign |
取得或設定表單上控制項的對齊方式。 |
DataBindings |
取得這個 IBindableComponent 的資料繫結物件集合。 (繼承來源 BindableComponent) |
DefaultAutoToolTip |
取得值,指出是否要顯示定義為預設值的 ToolTip。 (繼承來源 ToolStripItem) |
DefaultDisplayStyle |
取得值,表示顯示在 ToolStripItem 上的項目為何。 (繼承來源 ToolStripItem) |
DefaultMargin |
取得項目的預設邊界。 (繼承來源 ToolStripItem) |
DefaultPadding |
取得項目的內部間距特性。 (繼承來源 ToolStripItem) |
DefaultSize |
取得控制項的預設大小。 |
DesignMode |
取得值,指出 Component 目前是否處於設計模式。 (繼承來源 Component) |
DismissWhenClicked |
取得值,指出按一下 ToolStripDropDown 上的項目之後,這些項目是否會隱藏。 (繼承來源 ToolStripItem) |
DisplayStyle |
這個屬性與這個類別無關。 |
Dock |
取得或設定停駐在其父控制項的 ToolStripItem 框線,並決定 ToolStripItem 隨其父代重新調整大小的方式。 (繼承來源 ToolStripItem) |
DoubleClickEnabled |
這個屬性與這個類別無關。 |
Enabled |
取得或設定值,指出是否已啟用 ToolStripItem 的父控制項。 |
Events |
取得附加在這個 Component 上的事件處理常式清單。 (繼承來源 Component) |
Focused |
取得指示控制項是否擁有輸入焦點的值。 |
Font |
取得或設定要用於裝載控制項上的字型。 |
ForeColor |
取得或設定裝載控制項的前景色彩。 |
Height |
取得或設定 ToolStripItem 的高度 (以像素為單位)。 (繼承來源 ToolStripItem) |
Image |
與物件相關聯的影像。 |
ImageAlign |
這個屬性與這個類別無關。 |
ImageIndex |
取得或設定此項目上顯示的影像索引值。 (繼承來源 ToolStripItem) |
ImageKey |
取得或設定在 ImageList 中顯示在 ToolStripItem 上的影像之按鍵存取子 (Accessor)。 (繼承來源 ToolStripItem) |
ImageScaling |
這個屬性與這個類別無關。 |
ImageTransparentColor |
這個屬性與這個類別無關。 |
IsDisposed |
取得值,指出物件是否已經處置。 (繼承來源 ToolStripItem) |
IsOnDropDown |
取得值,指出目前 Control 的容器是否為 ToolStripDropDown。 (繼承來源 ToolStripItem) |
IsOnOverflow |
取得值,指出 Placement 屬性是否設定為 Overflow。 (繼承來源 ToolStripItem) |
Margin |
取得或設定此項目和相鄰項目之間的間距。 (繼承來源 ToolStripItem) |
MergeAction |
取得或設定子功能表要如何與父功能表合併的值。 (繼承來源 ToolStripItem) |
MergeIndex |
取得或設定目前 ToolStrip 中已合併項目的位置。 (繼承來源 ToolStripItem) |
Name |
取得或設定項目的名稱。 (繼承來源 ToolStripItem) |
Overflow |
取得或設定此項目是否附加至 ToolStrip 或 ToolStripOverflowButton,或是可以在這兩者之間浮動的值。 (繼承來源 ToolStripItem) |
Owner |
取得或設定此項目的擁有人。 (繼承來源 ToolStripItem) |
OwnerItem |
取得這個 ToolStripItem 的 ToolStripItem。 (繼承來源 ToolStripItem) |
Padding |
取得或設定介於此項目的內容與其邊緣之間的內部間距 (單位為像素)。 (繼承來源 ToolStripItem) |
Parent |
取得或設定 ToolStripItem 的父容器。 (繼承來源 ToolStripItem) |
Placement |
取得此項目的目前配置。 (繼承來源 ToolStripItem) |
Pressed |
取得值,指出是否已按下此項目的狀態。 (繼承來源 ToolStripItem) |
Renderer |
裝載 (Host) 自訂控制項或 Windows Form 控制項。 (繼承來源 ToolStripItem) |
RightToLeft |
取得或設定值,指出控制項的項目是否對齊,以支援使用由右至左字型的地區設定。 |
RightToLeftAutoMirrorImage |
這個屬性與這個類別無關。 |
Selected |
取得值,指出是否已選取此項目。 |
ShowKeyboardCues |
取得值,指出要顯示還是隱藏快速鍵。 (繼承來源 ToolStripItem) |
Site |
取得或設定裝載控制項的站台。 |
Size |
取得或設定 ToolStripItem 的大小。 |
Tag |
取得或設定物件,其中包含有關此項目的資料。 (繼承來源 ToolStripItem) |
Text |
取得或設定要在裝載控制項上顯示的文字。 |
TextAlign |
這個屬性與這個類別無關。 |
TextDirection |
這個屬性與這個類別無關。 |
TextImageRelation |
這個屬性與這個類別無關。 |
ToolTipText |
取得或設定顯示為控制項的 ToolTip 之文字。 (繼承來源 ToolStripItem) |
Visible |
取得或設定值,指出是否會顯示此項目。 (繼承來源 ToolStripItem) |
Width |
取得或設定 ToolStripItem 的寬度 (以像素為單位)。 (繼承來源 ToolStripItem) |
方法
事件
明確介面實作
IDropTarget.OnDragDrop(DragEventArgs) |
引發 DragDrop 事件。 (繼承來源 ToolStripItem) |
IDropTarget.OnDragEnter(DragEventArgs) |
引發 DragEnter 事件。 (繼承來源 ToolStripItem) |
IDropTarget.OnDragLeave(EventArgs) |
引發 DragLeave 事件。 (繼承來源 ToolStripItem) |
IDropTarget.OnDragOver(DragEventArgs) |
引發 |