ToolStripControlHost 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
承载自定义控件或 Windows 窗体控件。
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
- 继承
- 继承
- 派生
示例
下面的代码示例演示如何使用 控件构造 ToolStripControlHost ,使用 OnSubscribeControlEvents 处理事件,并将其某些成员公开给 ToolStripControlHost。MonthCalendar
//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 可以通过两种方式承载其他控件,包括自定义控件:
使用派生自 Control 的类构造 ToolStripControlHost。 若要完全访问所承载控件和属性,必须将 Control 属性强制转换为它所表示的实际类。
扩展 ToolStripControlHost,并在继承的类的无参数构造函数中,调用基类构造函数(传递派生自 Control 的类)。 使用此选项可以包装常用控件方法和属性,以便可在 ToolStrip 中轻松访问。
ToolStripControlHost使用 类承载自定义控件或任何其他Windows 窗体控件。
若要自定义 , 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 的货币管理器的集合。 (继承自 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 中图像的键访问器。 (继承自 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 |
承载自定义控件或 Windows 窗体控件。 (继承自 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) |
引发 |