Control 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
定义控件的基类,控件是带有可视化表示形式的组件。
public ref class Control : System::ComponentModel::Component, System::ComponentModel::ISynchronizeInvoke, System::Windows::Forms::IWin32Window
public ref class Control : System::ComponentModel::Component, IDisposable, System::ComponentModel::ISynchronizeInvoke, System::Windows::Forms::IBindableComponent, System::Windows::Forms::IDropTarget, System::Windows::Forms::IWin32Window
public class Control : System.ComponentModel.Component, System.ComponentModel.ISynchronizeInvoke, System.Windows.Forms.IWin32Window
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)]
[System.Runtime.InteropServices.ComVisible(true)]
public class Control : System.ComponentModel.Component, IDisposable, System.ComponentModel.ISynchronizeInvoke, System.Windows.Forms.IBindableComponent, System.Windows.Forms.IDropTarget, System.Windows.Forms.IWin32Window
public class Control : System.ComponentModel.Component, IDisposable, System.ComponentModel.ISynchronizeInvoke, System.Windows.Forms.IBindableComponent, System.Windows.Forms.IDropTarget, System.Windows.Forms.IWin32Window
type Control = class
inherit Component
interface UnsafeNativeMethods.IOleControl
interface UnsafeNativeMethods.IOleObject
interface UnsafeNativeMethods.IOleInPlaceObject
interface UnsafeNativeMethods.IOleInPlaceActiveObject
interface UnsafeNativeMethods.IOleWindow
interface UnsafeNativeMethods.IViewObject
interface UnsafeNativeMethods.IViewObject2
interface UnsafeNativeMethods.IPersist
interface UnsafeNativeMethods.IPersistStreamInit
interface UnsafeNativeMethods.IPersistPropertyBag
interface UnsafeNativeMethods.IPersistStorage
interface UnsafeNativeMethods.IQuickActivate
interface ISynchronizeInvoke
interface IWin32Window
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type Control = class
inherit Component
interface UnsafeNativeMethods.IOleControl
interface UnsafeNativeMethods.IOleObject
interface UnsafeNativeMethods.IOleInPlaceObject
interface UnsafeNativeMethods.IOleInPlaceActiveObject
interface UnsafeNativeMethods.IOleWindow
interface UnsafeNativeMethods.IViewObject
interface UnsafeNativeMethods.IViewObject2
interface UnsafeNativeMethods.IPersist
interface UnsafeNativeMethods.IPersistStreamInit
interface UnsafeNativeMethods.IPersistPropertyBag
interface UnsafeNativeMethods.IPersistStorage
interface UnsafeNativeMethods.IQuickActivate
interface IDropTarget
interface ISynchronizeInvoke
interface IWin32Window
interface IBindableComponent
interface IComponent
interface IDisposable
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type Control = class
inherit Component
interface IDropTarget
interface ISynchronizeInvoke
interface IWin32Window
interface IBindableComponent
interface IComponent
interface IDisposable
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type Control = class
inherit Component
interface IDropTarget
interface ISynchronizeInvoke
interface IWin32Window
interface IComponent
interface IDisposable
interface IBindableComponent
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type Control = class
inherit Component
interface UnsafeNativeMethods.IOleControl
interface UnsafeNativeMethods.IOleObject
interface UnsafeNativeMethods.IOleInPlaceObject
interface UnsafeNativeMethods.IOleInPlaceActiveObject
interface UnsafeNativeMethods.IOleWindow
interface UnsafeNativeMethods.IViewObject
interface UnsafeNativeMethods.IViewObject2
interface UnsafeNativeMethods.IPersist
interface Interop.Ole32.IPersistStreamInit
interface UnsafeNativeMethods.IPersistPropertyBag
interface Interop.Ole32.IPersistStorage
interface UnsafeNativeMethods.IQuickActivate
interface IDropTarget
interface ISynchronizeInvoke
interface IWin32Window
interface IComponent
interface IDisposable
interface IBindableComponent
type Control = class
inherit Component
interface Interop.Ole32.IOleControl
interface Interop.Ole32.IOleObject
interface Interop.Ole32.IOleInPlaceObject
interface Interop.Ole32.IOleInPlaceActiveObject
interface Interop.Ole32.IOleWindow
interface Interop.Ole32.IViewObject
interface Interop.Ole32.IViewObject2
interface Interop.Ole32.IPersist
interface Interop.Ole32.IPersistStreamInit
interface Interop.Oleaut32.IPersistPropertyBag
interface Interop.Ole32.IPersistStorage
interface Interop.Ole32.IQuickActivate
interface IDropTarget
interface ISynchronizeInvoke
interface IWin32Window
interface IComponent
interface IDisposable
interface IBindableComponent
type Control = class
inherit Component
interface IDropTarget
interface ISynchronizeInvoke
interface IWin32Window
interface IComponent
interface IDisposable
interface IBindableComponent
interface IOleControl.Interface
interface IOleObject.Interface
interface IOleInPlaceObject.Interface
interface IOleWindow.Interface
interface IOleInPlaceActiveObject.Interface
interface IViewObject.Interface
interface IViewObject2.Interface
interface IPersist.Interface
interface IPersistStreamInit.Interface
interface IPersistPropertyBag.Interface
interface IPersistStorage.Interface
interface IQuickActivate.Interface
type Control = class
inherit Component
interface IOleControl.Interface
interface IOleObject.Interface
interface IOleInPlaceObject.Interface
interface IOleWindow.Interface
interface IOleInPlaceActiveObject.Interface
interface IViewObject.Interface
interface IViewObject2.Interface
interface IPersist.Interface
interface IPersistStreamInit.Interface
interface IPersistPropertyBag.Interface
interface IPersistStorage.Interface
interface IQuickActivate.Interface
interface IDropTarget
interface ISynchronizeInvoke
interface IWin32Window
interface IComponent
interface IDisposable
interface IBindableComponent
Public Class Control
Inherits Component
Implements ISynchronizeInvoke, IWin32Window
Public Class Control
Inherits Component
Implements IBindableComponent, IDisposable, IDropTarget, ISynchronizeInvoke, IWin32Window
- 继承
- 派生
- 属性
- 实现
注解
若要创建自己的控件类,请从 UserControl、 Control 类或从其他 Windows 窗体提供的控件继承。 有关创作自定义控件的详细信息,请参阅 使用 .NET Framework 开发自定义 Windows 窗体控件。
类 Control 实现了向用户显示信息的类所需的非常基本的功能。 它通过键盘和指向设备处理用户输入。 它处理消息路由和安全性。 它定义控件的边界, (控件的位置和大小) ,尽管它不实现绘制。 它提供窗口句柄 (hWnd
) 。
Windows 窗体控件使用环境属性,因此子控件可以像周围的环境一样显示。 环境属性是一个控件属性,如果未设置,将从父控件检索该属性。 如果控件没有 Parent,并且未设置 属性,则控件会尝试通过 Site 属性确定环境属性的值。 如果控件未进行站点化、站点不支持环境属性,或者如果未在 上 AmbientProperties设置 属性,则控件使用其自己的默认值。 通常,环境属性表示与子控件通信的控件的特征,例如 BackColor。 例如,Button默认情况下,将具有与其父级Form相同的 BackColor 。 类提供Control的环境属性包括:Cursor、、Font、BackColorForeColor、 和 RightToLeft。
注意
若要使 Windows 窗体应用程序支持视觉样式,请确保将 属性System
设置为 FlatStyle ,并在可执行文件中包含清单。 清单是一个 XML 文件,它作为资源包含在应用程序可执行文件中,或作为与可执行文件驻留在同一目录中的单独文件。 有关清单的示例,请参阅枚举的“示例” FlatStyle 部分。 有关使用视觉样式的详细信息,请参阅 视觉样式。
Windows 窗体内置辅助功能支持,并提供有关应用程序的信息,使它能够使用辅助功能客户端应用程序,例如屏幕放大器和审阅程序实用工具、语音输入实用工具、屏幕键盘、备用输入设备和键盘增强实用工具。 有时需要向辅助功能客户端应用程序提供其他信息。 可通过两种方式提供此附加信息。 可以设置 AccessibleName、 AccessibleDescription、 AccessibleDefaultActionDescription和 AccessibleRole 属性值,这些值将报告给辅助功能客户端应用程序。 此方法通常用于为现有控件提供有限的辅助功能信息。 或者,可以编写派生自 AccessibleObject 或 Control.ControlAccessibleObject 类的自己的类,根据需要提供尽可能多的辅助功能信息。
注意
若要保持更好的性能,请勿在其构造函数中设置控件的大小。 首选方法是重写 DefaultSize 属性。
注意
不要在其构造函数中添加 数据绑定 Control 。 这样做将导致代码生成错误,并可能导致不需要的行为。
命名空间中的 System.Windows.Forms 大多数控件都使用基础 Windows 公共控件作为基础进行构建。 有关 Windows 通用控件的详细信息,请参阅 常规控件参考。
若要从单独的进程识别 Windows 窗体控件,请使用标准 SendMessage
调用传递WM_GETCONTROLNAME消息。 WM_GETCONTROLNAME独立于语言和 Windows 层次结构。 有关详细信息,请参阅自动执行 Windows 窗体中的“适用于 Windows 窗体的建议解决方案”主题。
InvokeRequired使用 属性可同步从多个线程对 控件的访问。 有关多线程 Windows 窗体控件的详细信息,请参阅 如何:对 Windows 窗体控件进行 Thread-Safe 调用。
构造函数
Control() |
使用默认设置初始化 Control 类的新实例。 |
Control(Control, String) |
用特定文本将 Control 类的新实例初始化为子控件。 |
Control(Control, String, Int32, Int32, Int32, Int32) |
用特定的文本、大小和位置将 Control 类的新实例初始化为子控件。 |
Control(String) |
用特定的文本初始化 Control 类的新实例。 |
Control(String, Int32, Int32, Int32, Int32) |
用特定的文本、大小和位置初始化 Control 类的新实例。 |
属性
AccessibilityObject |
获取分配给该控件的 AccessibleObject。 |
AccessibleDefaultActionDescription |
获取或设置控件的默认操作说明以供具有辅助功能的客户端应用程序使用。 |
AccessibleDescription |
获取或设置辅助功能客户端应用程序使用的控件说明。 |
AccessibleName |
获取或设置辅助功能客户端应用程序所使用的控件名称。 |
AccessibleRole |
获取或设置控件的辅助性角色。 |
AllowDrop |
获取或设置一个值,该值指示控件是否可以接受用户拖放到它上面的数据。 |
Anchor |
获取或设置控件绑定到的容器的边缘并确定控件如何随其父级一起调整大小。 |
AutoScrollOffset |
获取或设置一个值,该值指示在 ScrollControlIntoView(Control) 中将控件滚动到何处。 |
AutoSize |
此属性与此类无关。 |
BackColor |
获取或设置控件的背景色。 |
BackgroundImage |
获取或设置在控件中显示的背景图像。 |
BackgroundImageLayout |
获取或设置在 ImageLayout 枚举中定义的背景图像布局。 |
BindingContext |
获取或设置控件的 BindingContext。 |
Bottom |
获取控件下边缘与其容器的工作区上边缘之间的距离(以像素为单位)。 |
Bounds |
获取或设置控件(包括其非工作区元素)相对于其父控件的大小和位置(以像素为单位)。 |
CanEnableIme |
获取一个用以指示是否可以将 ImeMode 属性设置为活动值的值,以启用 IME 支持。 |
CanFocus |
获取一个值,该值指示控件是否可以接收焦点。 |
CanRaiseEvents |
确定是否可以在控件上引发事件。 |
CanRaiseEvents |
获取一个指示组件是否可以引发事件的值。 (继承自 Component) |
CanSelect |
获取一个值,该值指示是否可以选中控件。 |
Capture |
获取或设置一个值,该值指示控件是否已捕获鼠标。 |
CausesValidation |
获取或设置一个值,该值指示控件是否会引起在任何需要在接收焦点时执行验证的控件上执行验证。 |
CheckForIllegalCrossThreadCalls |
获取或设置一个值,该值指示是否捕获对错误线程的调用,这些调用在调试应用程序时访问控件的 Handle 属性。 |
ClientRectangle |
获取表示控件的工作区的矩形。 |
ClientSize |
获取或设置控件的工作区的高度和宽度。 |
CompanyName |
获取包含控件的应用程序的公司名称或创建者。 |
Container |
获取包含 IContainer 的 Component。 (继承自 Component) |
ContainsFocus |
获取一个值,该值指示控件或它的一个子控件当前是否有输入焦点。 |
ContextMenu |
获取或设置与控件关联的快捷菜单。 |
ContextMenuStrip |
获取或设置与此控件关联的 ContextMenuStrip。 |
Controls |
获取包含在控件内的控件的集合。 |
Created |
获取一个值,该值指示控件是否已经创建。 |
CreateParams |
获取创建控件句柄时所需要的创建参数。 |
Cursor |
获取或设置当鼠标指针位于控件上时显示的光标。 |
DataBindings |
为该控件获取数据绑定。 |
DataContext |
获取或设置用于数据绑定的数据上下文。 这是一个环境属性。 |
DefaultBackColor |
获取控件的默认背景色。 |
DefaultCursor |
获取或设置控件的默认光标。 |
DefaultFont |
获取控件的默认字体。 |
DefaultForeColor |
获取控件的默认前景色。 |
DefaultImeMode |
获取控件支持的默认输入法编辑器 (IME) 模式。 |
DefaultMargin |
获取控件之间默认指定的间距(以像素为单位)。 |
DefaultMaximumSize |
获取以像素为单位的长度和高度,此长度和高度被指定为控件的默认最大大小。 |
DefaultMinimumSize |
获取以像素为单位的长度和高度,此长度和高度被指定为控件的默认最小大小。 |
DefaultPadding |
获取 控件内容的默认内部间距(以像素为单位)。 |
DefaultSize |
获取控件的默认大小。 |
DesignMode |
获取一个值,用以指示 Component 当前是否处于设计模式。 (继承自 Component) |
DeviceDpi |
获取显示当前控件的显示设备的 DPI 值。 |
DisplayRectangle |
获取表示控件的显示区域的矩形。 |
Disposing |
获取一个值,该值指示 Control 基类是否在释放进程中。 |
Dock |
获取或设置哪些控件边框停靠到其父控件并确定控件如何随其父级一起调整大小。 |
DoubleBuffered |
获取或设置一个值,该值指示此控件是否应使用辅助缓冲区重绘其图面,以减少或避免闪烁。 |
Enabled |
获取或设置一个值,该值指示控件是否可以对用户交互作出响应。 |
Events |
获取附加到此 Component 的事件处理程序的列表。 (继承自 Component) |
Focused |
获取一个值,该值指示控件是否有输入焦点。 |
Font |
获取或设置控件显示的文字的字体。 |
FontHeight |
获取或设置控件的字体的高度。 |
ForeColor |
获取或设置控件的前景色。 |
Handle |
获取控件绑定到的窗口句柄。 |
HasChildren |
获取一个值,该值指示控件是否包含一个或多个子控件。 |
Height |
获取或设置控件的高度。 |
ImeMode |
获取或设置控件的输入法编辑器 (IME) 模式。 |
ImeModeBase |
获取或设置控件的 IME 模式。 |
InvokeRequired |
获取一个值,该值指示调用方在对控件进行方法调用时是否必须调用 Invoke 方法,因为调用方位于创建控件所在的线程以外的线程中。 |
IsAccessible |
获取或设置一个值,该值指示控件对辅助功能应用程序是否可见。 |
IsAncestorSiteInDesignMode |
指示此控件的上级之一是否位于 DesignMode 中以及该站点。 此属性为只读。 |
IsDisposed |
获取一个值,该值指示控件是否已经被释放。 |
IsHandleCreated |
获取一个值,该值指示控件是否有与它关联的句柄。 |
IsMirrored |
获取一个值,该值指示此控件是否为镜像控件。 |
LayoutEngine |
获取控件的布局引擎的缓存实例。 |
Left |
获取或设置控件左边缘与其容器的工作区左边缘之间的距离(以像素为单位)。 |
Location |
获取或设置该控件的左上角相对于其容器的左上角的坐标。 |
Margin |
获取或设置控件之间的空间。 |
MaximumSize |
获取或设置大小,该大小是 GetPreferredSize(Size) 可以指定的上限。 |
MinimumSize |
获取或设置大小,该大小是 GetPreferredSize(Size) 可以指定的下限。 |
ModifierKeys |
获取一个表示哪个修改键(Shift、Ctrl 和 Alt)处于按下状态的值。 |
MouseButtons |
获取一个指示哪个鼠标按钮处于按下状态的值。 |
MousePosition |
获取鼠标光标的位置(以屏幕坐标表示)。 |
Name |
获取或设置控件的名称。 |
Padding |
获取或设置控件内的空白。 |
Parent |
获取或设置控件的父容器。 |
PreferredSize |
获取可以容纳控件的矩形区域的大小。 |
ProductName |
获取包含控件的程序集的产品名称。 |
ProductVersion |
获取包含控件的程序集的版本。 |
PropagatingImeMode |
获取一个表示传播 IME 模式的对象。 |
RecreatingHandle |
获取一个值,该值指示控件当前是否在重新创建其句柄。 |
Region |
获取或设置与控件关联的窗口区域。 |
RenderRightToLeft |
已过时.
已过时.
此属性现已过时。 |
ResizeRedraw |
获取或设置一个值,该值指示控件在调整大小时是否重绘自己。 |
Right |
获取控件右边缘与其容器的工作区左边缘之间的距离(以像素为单位)。 |
RightToLeft |
获取或设置一个值,该值指示是否将控件的元素对齐以支持使用从右向左的字体的区域设置。 |
ScaleChildren |
获取一个值,该值确定子控件的缩放。 |
ShowFocusCues |
获取一个值,该值指示控件是否应显示聚焦框。 |
ShowKeyboardCues |
获取一个值,该值指示用户界面是否处于适当的状态以显示或隐藏键盘快捷键。 |
Site |
获取或设置控件的站点。 |
Size |
获取或设置控件的高度和宽度。 |
TabIndex |
获取或设置控件在其容器内的 Tab 键顺序。 |
TabStop |
获取或设置一个值,该值指示用户能否使用 Tab 键将焦点放到该控件上。 |
Tag |
获取或设置包含有关控件的数据的对象。 |
Text |
获取或设置与此控件关联的文本。 |
Top |
获取或设置控件上边缘与其容器的工作区上边缘之间的距离(以像素为单位)。 |
TopLevelControl |
获取没有另一个 Windows 窗体控件作为其父级的父控件。 通常,这是控件所在的最外面的 Form。 |
UseWaitCursor |
获取或设置一个值,该值指示是否将等待光标用于当前控件以及所有子控件。 |
Visible |
获取或设置一个值,该值指示是否显示该控件及其所有子控件。 |
Width |
获取或设置控件的宽度。 |
WindowTarget |
此属性与此类无关。 |
方法
事件
显式接口实现
适用于
线程安全性
只有以下成员是线程安全的:BeginInvoke(Delegate)、EndInvoke(IAsyncResult)、Invoke(Delegate)InvokeRequired、 和CreateGraphics()(如果已创建控件的句柄)。 在后台线程上创建控件句柄之前调用 CreateGraphics() 可能会导致非法跨线程调用。