AxHost 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將 ActiveX 控制項包裝成完整功能 Windows Forms 控制項。
public ref class AxHost abstract : System::Windows::Forms::Control, System::ComponentModel::ICustomTypeDescriptor, System::ComponentModel::ISupportInitialize
public abstract class AxHost : System.Windows.Forms.Control, System.ComponentModel.ICustomTypeDescriptor, System.ComponentModel.ISupportInitialize
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class AxHost : System.Windows.Forms.Control, System.ComponentModel.ICustomTypeDescriptor, System.ComponentModel.ISupportInitialize
type AxHost = class
inherit Control
interface ISupportInitialize
interface ICustomTypeDescriptor
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type AxHost = class
inherit Control
interface ISupportInitialize
interface ICustomTypeDescriptor
Public MustInherit Class AxHost
Inherits Control
Implements ICustomTypeDescriptor, ISupportInitialize
- 繼承
- 屬性
- 實作
範例
以下程式碼範例覆蓋了一個SetAboutBoxDelegate衍生類別的建構子,以及AttachInterfaces和AxHost方法,該類別封裝了Microsoft Masked Edit ActiveX 控制項。 這段程式碼需要你用 Switch 在 MSMask32.ocx 檔案 /source 上執行 AxImp.exe 工具產生原始碼。 這段程式碼只以 C# 語法顯示,因為 AxImp.exe 工具只輸出 C# 語法。
public AxMaskEdBox()
:
base("c932ba85-4374-101b-a56c-00aa003668dc") // The ActiveX control's class identifier.
{
// Make the AboutBox method the about box delegate.
this.SetAboutBoxDelegate(new AboutBoxDelegate(AboutBox));
}
public virtual void AboutBox()
{
// If the instance of the ActiveX control is null when the AboutBox method
// is called, raise an InvalidActiveXStateException exception.
if ((this.ocx == null))
{
throw new System.Windows.Forms.AxHost.InvalidActiveXStateException(
"AboutBox", System.Windows.Forms.AxHost.ActiveXInvokeKind.MethodInvoke);
}
// Show the about box if the ActiveX control has one.
if (this.HasAboutBox)
{
this.ocx.AboutBox();
}
}
protected override void AttachInterfaces()
{
try
{
// Attach the IMSMask interface to the ActiveX control.
this.ocx = ((MSMask.IMSMask)(this.GetOcx()));
}
catch (System.Exception ex)
{
System.Console.WriteLine(ex.Message);
}
}
備註
你通常不會直接使用這 AxHost 門課。 你可以使用 Aximp.exe(Windows Forms ActiveX 控制導入器)來產生延伸至 AxHost 的包裝器。
ActiveX 控制匯入器會產生一個從該 AxHost 類別衍生的類別,並將其編譯成一個函式庫檔案(DLL),作為應用程式的參考。 或者,你也可以用 /source Switch,搭配 ActiveX 控制匯入器,然後為你的 AxHost 衍生類別產生 C# 檔案。 接著你可以修改程式碼,重新編譯成函式庫檔案。
Note
如果 ActiveX 控制項的成員名稱與 .NET Framework 定義的名稱相符,則 ActiveX 控制匯入器在建立 AxHost 衍生類別時,會在成員名稱前加上「Ctl」。 例如,如果你的 ActiveX 控制項中有名為「Layout」的成員,則在 AxHost 衍生類別中會被重新命名為「CtlLayout」,因為 Layout 事件是在 .NET 框架中定義的。
類別中大多數常見屬性 AxHost 只有在底層的 ActiveX 控制項暴露這些屬性時才有效且被使用。 常見性質的幾個例子包括 BackColor、 Cursor、 Font、 Text和 。
Note
如果你使用 Visual Studio 作為 Windows Forms 設計環境,可以透過將 ActiveX 控制項加入工具箱,讓應用程式使用。 要做到這點,請右鍵點擊 工具箱,選擇 自訂工具箱,然後瀏覽到 ActiveX 控制項的 .ocx 檔案。 更多資訊請參見 如何:將 ActiveX 控制項加入 Windows Forms。
建構函式
| 名稱 | Description |
|---|---|
| AxHost(String, Int32) |
初始化該類別的新實例 AxHost ,包覆指定的 CLSID 所指示的 ActiveX 控制項,並使用指定 |
| AxHost(String) |
初始化該類別的新實例 AxHost ,並封裝指定的 CLSID 所指示的 ActiveX 控制項。 |
屬性
| 名稱 | Description |
|---|---|
| AccessibilityObject |
讓被 AccessibleObject 指派到控制室。 (繼承來源 Control) |
| AccessibleDefaultActionDescription |
取得或設定控制項的預設動作描述,供無障礙客戶端應用程式使用。 (繼承來源 Control) |
| AccessibleDescription |
取得或設定無障礙客戶端應用程式所使用的控制項描述。 (繼承來源 Control) |
| AccessibleName |
取得或設定無障礙客戶端應用程式所使用的控制項名稱。 (繼承來源 Control) |
| AccessibleRole |
取得或設定控制的可及角色。 (繼承來源 Control) |
| AllowDrop |
取得或設定一個值,指示控制器是否能接受使用者拖曳到的資料。 (繼承來源 Control) |
| Anchor |
取得或設定控制項綁定容器的邊緣,並決定控制項如何與父控制項進行調整大小。 (繼承來源 Control) |
| AutoScrollOffset |
取得或設定,將此控制捲動至。ScrollControlIntoView(Control) (繼承來源 Control) |
| AutoSize |
此性質對此類別無關。 (繼承來源 Control) |
| BackColor |
這個成員對這個控制沒有意義。 |
| BackgroundImage |
此性質對此類別無關。 |
| BackgroundImageLayout |
此性質對此類別無關。 |
| BindingContext |
取得或設定 BindingContext 控制。 (繼承來源 Control) |
| Bottom |
取得控制項底部邊緣與容器用戶端區域頂部邊緣之間的距離(像素)。 (繼承來源 Control) |
| Bounds |
取得或設定控制項的大小與位置,包括非用戶端元素,以像素為單位,相對於父控制項。 (繼承來源 Control) |
| CanEnableIme |
會取得一個值,表示該屬性是否 ImeMode 能被設定為主動值,以支援 IME。 (繼承來源 Control) |
| CanFocus |
會獲得一個值,表示控制點是否能獲得焦點。 (繼承來源 Control) |
| CanRaiseEvents |
判斷事件是否能在控制組上引發。 (繼承來源 Control) |
| CanSelect |
會得到一個值,表示是否可以選擇該控制項。 (繼承來源 Control) |
| Capture |
取得或設定一個值,表示控制器是否已捕捉該滑鼠。 (繼承來源 Control) |
| CausesValidation |
取得或設定一個值,指示該控制是否導致在收到焦點時對需要驗證的控制項進行驗證。 (繼承來源 Control) |
| ClientRectangle |
取得代表控制區客戶端區域的矩形。 (繼承來源 Control) |
| ClientSize |
取得或設定控制區客戶區域的高度與寬度。 (繼承來源 Control) |
| CompanyName |
取得包含控制權的公司名稱或應用程式的創建者名稱。 (繼承來源 Control) |
| Container |
取得包含 IContainer的 Component。 (繼承來源 Component) |
| ContainingControl |
取得或設定包含 ActiveX 控制項的控制項。 |
| ContainsFocus |
會獲得一個值,表示該控制項或其子控制項目前是否擁有輸入焦點。 (繼承來源 Control) |
| ContextMenu |
此性質對此類別無關。 |
| ContextMenu |
已淘汰.
取得或設定與控制鍵相關的捷徑選單。 (繼承來源 Control) |
| ContextMenuStrip |
取得或設定 ContextMenuStrip 與此控制相關聯的 (繼承來源 Control) |
| Controls |
取得控制中包含的控制項集合。 (繼承來源 Control) |
| Created |
會得到一個值,表示控制是否已被建立。 (繼承來源 Control) |
| CreateParams |
當控制句柄建立時,會取得所需的建立參數。 |
| Cursor |
此性質對此類別無關。 |
| DataBindings |
取得控制項的資料綁定。 (繼承來源 Control) |
| DataContext |
取得或設定資料上下文以進行資料綁定。 這是一個環境音屬性。 (繼承來源 Control) |
| DefaultCursor |
取得或設定控制鍵的預設游標。 (繼承來源 Control) |
| DefaultImeMode |
可獲得控制項所支援的預設輸入法編輯器(IME)模式。 (繼承來源 Control) |
| DefaultMargin |
取得預設控制點間設定的像素空間。 (繼承來源 Control) |
| DefaultMaximumSize |
取得控制項預設最大大小的長度與高度(像素數)。 (繼承來源 Control) |
| DefaultMinimumSize |
取得控制項預設最小大小的長度與高度(像素)。 (繼承來源 Control) |
| DefaultPadding |
取得控制項內容的預設內部間距(像素)。 (繼承來源 Control) |
| DefaultSize |
會得到預設大小的控制器。 |
| DefaultVisualStylesMode |
將 ActiveX 控制項包裝成完整功能 Windows Forms 控制項。 (繼承來源 Control) |
| DesignMode |
取得值,這個值表示 Component 目前是否處於設計模式。 (繼承來源 Component) |
| DeviceDpi |
取得目前顯示控制項所在顯示器的 DPI 值。 (繼承來源 Control) |
| DisplayRectangle |
取得代表控制器顯示區域的矩形。 (繼承來源 Control) |
| Disposing |
會取得一個值,表示基底 Control 類別是否正在處理中。 (繼承來源 Control) |
| Dock |
取得或設定哪些控制邊界對接到其父控制,並決定控制點如何與父控制進行調整大小。 (繼承來源 Control) |
| DoubleBuffered |
會取得或設定一個值,指示該控制器是否應該使用次級緩衝區重新繪製表面以減少或防止閃爍。 (繼承來源 Control) |
| EditMode |
回傳一個值,表示託管控制是否處於編輯模式。 |
| EffectiveVisualStylesMode |
將 ActiveX 控制項包裝成完整功能 Windows Forms 控制項。 (繼承來源 Control) |
| Enabled |
此性質對此類別無關。 |
| Events |
取得附加至這個 Component之事件處理程序的清單。 (繼承來源 Component) |
| Focused |
會得到一個值,表示控制器是否有輸入焦點。 (繼承來源 Control) |
| Font |
此性質對此類別無關。 |
| FontHeight |
取得或設定控制鍵字型的高度。 (繼承來源 Control) |
| ForeColor |
此性質對此類別無關。 |
| Handle |
它會得到控制項綁定的視窗把手。 (繼承來源 Control) |
| HasAboutBox |
會獲得一個值,表示 ActiveX 控制項是否有 關於 對話框。 |
| HasChildren |
會取得一個值,表示該控制是否包含一個或多個子控制項。 (繼承來源 Control) |
| Height |
取得或設定控制點的高度。 (繼承來源 Control) |
| ImeMode |
此性質對此類別無關。 |
| ImeMode |
取得或設定控制器的輸入法編輯器(IME)模式。 (繼承來源 Control) |
| ImeModeBase |
取得或設定控制的 IME 模式。 (繼承來源 Control) |
| InvokeRequired |
會獲得一個值,表示呼叫者在呼叫控制項時是否必須呼叫呼叫方法,因為呼叫者使用的執行緒與該控制項建立的執行緒不同。 (繼承來源 Control) |
| IsAccessible |
取得或設定一個值,指示該控制項是否對無障礙應用程式可見。 (繼承來源 Control) |
| IsAncestorSiteInDesignMode |
顯示該控制點的前祖是否被設置在 DesignMode 中。 這個屬性是唯讀的。 (繼承來源 Control) |
| IsDisposed |
會有一個值,表示控制權是否已被處理掉。 (繼承來源 Control) |
| IsHandleCreated |
會得到一個值,表示該控制項是否有與其相關的 handle。 (繼承來源 Control) |
| IsMirrored |
會得到一個值,表示該控制是否為鏡像。 (繼承來源 Control) |
| LayoutEngine |
會取得控制點的佈局引擎的快取實例。 (繼承來源 Control) |
| Left |
取得或設定控制項左邊與容器客戶端區域左邊之間的距離(像素)。 (繼承來源 Control) |
| Location |
取得或設定控制器左上角相對於容器左上角的座標。 (繼承來源 Control) |
| Margin |
取得或設定控制區之間的空格。 (繼承來源 Control) |
| MaximumSize |
取得或設定的上限是可以指定的上限 GetPreferredSize(Size) 。 (繼承來源 Control) |
| MinimumSize |
取得或設定的尺寸是可指定的下限 GetPreferredSize(Size) 。 (繼承來源 Control) |
| Name |
取得或設定控制的名稱。 (繼承來源 Control) |
| OcxState |
取得或設定 ActiveX 控制項的持久狀態。 |
| Padding |
在控制範圍內設置或設置填充。 (繼承來源 Control) |
| Parent |
取得或設定控制的父容器。 (繼承來源 Control) |
| PreferredSize |
大小相當於一個長方形區域,控制器可以放進去。 (繼承來源 Control) |
| ProductName |
取得包含控制項的組件產品名稱。 (繼承來源 Control) |
| ProductVersion |
取得包含控制項的組裝版本。 (繼承來源 Control) |
| RecreatingHandle |
會取得一個值,表示該控制項目前是否正在重新建立其句柄。 (繼承來源 Control) |
| Region |
取得或設定與控制項相關的視窗區域。 (繼承來源 Control) |
| RenderRightToLeft |
已淘汰.
已淘汰.
該物業現已過時。 (繼承來源 Control) |
| ResizeRedraw |
會取得或設定一個值,表示控制項在調整時是否會自行重新繪製。 (繼承來源 Control) |
| Right |
取得控制器右邊與容器用戶端區域左邊之間的距離(像素)。 (繼承來源 Control) |
| RightToLeft |
此性質對此類別無關。 |
| ScaleChildren |
會得到一個決定子控制項縮放的值。 (繼承來源 Control) |
| ShowFocusCues |
會得到一個值,指示控制器是否應該顯示焦點矩形。 (繼承來源 Control) |
| ShowKeyboardCues |
會取得一個值,表示使用者介面是否處於顯示或隱藏鍵盤加速器的適當狀態。 (繼承來源 Control) |
| Site |
取得或設定控制點。 |
| Size |
設定控制器的高度與寬度。 (繼承來源 Control) |
| TabIndex |
取得或設定容器內控制項的制表順序。 (繼承來源 Control) |
| TabStop |
取得或設定一個值,指示使用者是否能使用 TAB 鍵將焦點分配給此控制項。 (繼承來源 Control) |
| Tag |
取得或設定包含控制項資料的物件。 (繼承來源 Control) |
| Text |
此性質對此類別無關。 |
| Top |
取得或設定控制面板頂端與容器用戶端區域頂端之間的距離(以像素為單位)。 (繼承來源 Control) |
| TopLevelControl |
取得沒有其他 Windows Forms 控制項的父控制。 通常,這是控制所包含的最 Form 外層。 (繼承來源 Control) |
| UseWaitCursor |
取得或設定一個值,指示是否使用等待游標來控制目前的控制項及所有子控制項。 (繼承來源 Control) |
| Visible |
取得或設定一個值,表示該控制項及其所有子控制項是否被顯示。 (繼承來源 Control) |
| VisualStylesMode |
將 ActiveX 控制項包裝成完整功能 Windows Forms 控制項。 (繼承來源 Control) |
| Width |
設定或設定控制寬度。 (繼承來源 Control) |
| WindowTarget |
此性質對此類別無關。 (繼承來源 Control) |
方法
事件
明確介面實作
擴充方法
| 名稱 | Description |
|---|---|
| SuspendPainting(ISupportSuspendPainting, Func<Control,Boolean>) |
將 ActiveX 控制項包裝成完整功能 Windows Forms 控制項。 |
| SuspendPainting(ISupportSuspendPainting, LayoutSuspendTraversal) |
將 ActiveX 控制項包裝成完整功能 Windows Forms 控制項。 |
| SuspendPainting(ISupportSuspendPainting) |
將 ActiveX 控制項包裝成完整功能 Windows Forms 控制項。 |