AxHost 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
包裝 ActiveX 控制項,並把這些控制項公開成為全功能的 Windows Form 控制項。
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
- 繼承
- 屬性
- 實作
範例
下列程式碼範例會覆寫包裝 Microsoft Masked Edit ActiveX Control 之衍生類別的 AxHost 建構函式和 SetAboutBoxDelegate 和 AttachInterfaces 方法。 此程式碼需要您已使用 參數,在 MSMask32.ocx 檔案 /source
上執行 AxImp.exe 工具,以產生原始程式碼。 此程式碼只會以 C# 語法顯示,因為這是AxImp.exe工具的唯一語言輸出。
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 Control Importer 會產生衍生自 類別的 AxHost 類別,並將它編譯為程式庫檔案 (DLL) ,該檔案可以新增為應用程式的參考。 或者,您可以搭配 ActiveX 控制項匯入工具使用 /source
參數,並針對衍生 AxHost 類別產生 C# 檔案。 然後,您可以對程式碼進行變更,並將其重新編譯至程式庫檔案。
注意
如果 ActiveX 控制項的成員名稱符合.NET Framework中定義的名稱,則 ActiveX 控制項匯入工具會在建立 AxHost 衍生類別時將成員名稱前面加上 「Ctl」。 例如,如果您的 ActiveX 控制項有名為 「Layout」 的成員,則會在衍生類別中 AxHost 重新命名為 「CtlLayout」,因為 Layout
事件是在.NET Framework內定義。
類別的大部分通用屬性 AxHost 只有在基礎 ActiveX 控制項公開這些屬性時才有效且使用。 常見屬性的一些範例包括 BackColor 、 Cursor 、 Font 和 Text 。
注意
如果您使用 Visual Studio 作為Windows Forms設計環境,您可以將 ActiveX 控制項新增至 [工具箱],讓應用程式可以使用 ActiveX 控制項。 若要達成此目的,請以滑鼠右鍵按一下 [ 工具箱],選取 [ 自訂工具箱],然後流覽至 ActiveX 控制項的 .ocx 檔案。 如需詳細資訊,請參閱如何:將 ActiveX 控制項新增至 Windows Forms。
建構函式
AxHost(String) |
初始化 AxHost 類別的新執行個體,包裝指定的 CLSID 指出的 ActiveX 控制項。 |
AxHost(String, Int32) |
初始化 AxHost 類別的新執行個體,包裝指定 CLSID 指出的 ActiveX 控制項,並使用指定 |
屬性
AccessibilityObject |
取得指定給控制項的 AccessibleObject。 (繼承來源 Control) |
AccessibleDefaultActionDescription |
取得或設定協助用戶端應用程式所使用的控制項的預設動作描述。 (繼承來源 Control) |
AccessibleDescription |
取得或設定協助工具用戶端應用程式使用之控制項的描述。 (繼承來源 Control) |
AccessibleName |
取得或設定協助工具用戶端應用程式使用的控制項名稱。 (繼承來源 Control) |
AccessibleRole |
取得或設定控制項的可存取角色。 (繼承來源 Control) |
AllowDrop |
取得或設定值,指出控制項是否能接受使用者拖放上來的資料。 (繼承來源 Control) |
Anchor |
取得或設定控制項繫結至的容器邊緣,並決定控制項隨其父代重新調整大小的方式。 (繼承來源 Control) |
AutoScrollOffset |
取得或設定此控制項在 ScrollControlIntoView(Control) 中要捲動到哪一個位置。 (繼承來源 Control) |
AutoSize |
這個屬性與這個類別無關。 (繼承來源 Control) |
BackColor |
這個成員對這個控制項來說不具意義。 |
BackgroundImage |
這個屬性與這個類別無關。 |
BackgroundImageLayout |
這個屬性與這個類別無關。 |
BackgroundImageLayout |
取得或設定在 ImageLayout 列舉類型中所定義的背景影像配置。 (繼承來源 Control) |
BindingContext |
取得或設定控制項的 BindingContext。 (繼承來源 Control) |
Bottom |
取得控制項下邊緣和其容器工作區 (Client Area) 上邊緣之間的距離 (單位為像素)。 (繼承來源 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 |
取得控制項的資料繫結 (Data Binding)。 (繼承來源 Control) |
DataContext |
取得或設定資料系結用途的資料內容。 這是環境屬性。 (繼承來源 Control) |
DefaultCursor |
取得或設定控制項的預設游標。 (繼承來源 Control) |
DefaultImeMode |
取得控制項支援的預設輸入法 (IME) 模式。 (繼承來源 Control) |
DefaultMargin |
取得控制項之間的預設指定間距 (單位為像素)。 (繼承來源 Control) |
DefaultMaximumSize |
取得指定為控制項的預設大小之最大值的長度和高度 (單位為像素)。 (繼承來源 Control) |
DefaultMinimumSize |
取得指定為控制項的預設大小之最小值的長度和高度 (單位為像素)。 (繼承來源 Control) |
DefaultPadding |
取得控制項內容的內部間距 (單位為像素)。 (繼承來源 Control) |
DefaultSize |
取得控制項的預設大小。 |
DesignMode |
取得值,指出 Component 目前是否處於設計模式。 (繼承來源 Component) |
DeviceDpi |
取得目前顯示控制項的顯示裝置的 DPI 值。 (繼承來源 Control) |
DisplayRectangle |
取得表示控制項顯示區域的矩形。 (繼承來源 Control) |
Disposing |
取得值,指出基底 Control 類別是否正在處置的過程中。 (繼承來源 Control) |
Dock |
取得或設定停駐在其父控制項的控制項框線,並決定控制項隨其父代重新調整大小的方式。 (繼承來源 Control) |
DoubleBuffered |
取得或設定值,指出這個控制項是否應使用次要緩衝區重繪其介面,以減少或防止重繪閃動 (Flicker)。 (繼承來源 Control) |
EditMode |
傳回值,這個值表示裝載的控制項是否處於編輯模式。 |
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 |
取得一個值。這個值會指示是否由於呼叫端是在建立控制項之執行緒以外的執行緒,因此在進行控制項的方法呼叫時,應呼叫叫用 (Invoke) 方法。 (繼承來源 Control) |
IsAccessible |
取得或設定值,指出可及性應用程式是否見得到控制項。 (繼承來源 Control) |
IsAncestorSiteInDesignMode |
指出這個控制項的其中一個上階是否已月臺,以及該月臺在 DesignMode 中。 這個屬性是唯讀的。 (繼承來源 Control) |
IsDisposed |
取得指示控制項是否已經處置的值。 (繼承來源 Control) |
IsHandleCreated |
取得指示控制項是否有相關控制代碼的值。 (繼承來源 Control) |
IsMirrored |
取得值,指出是否左右反轉控制項。 (繼承來源 Control) |
LayoutEngine |
取得控制項之配置引擎的快取執行個體。 (繼承來源 Control) |
Left |
取得或設定控制項左邊緣和其容器工作區 (Client Area) 左邊緣之間的距離 (單位為像素)。 (繼承來源 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 |
取得控制項右邊緣和其容器工作區 (Client Area) 左邊緣之間的距離 (單位為像素)。 (繼承來源 Control) |
RightToLeft |
這個屬性與這個類別無關。 |
ScaleChildren |
取得值,以判斷子控制項的縮放。 (繼承來源 Control) |
ShowFocusCues |
取得指示控制項是否應顯示焦點矩形 (Focus Rectangle) 的值。 (繼承來源 Control) |
ShowKeyboardCues |
取得值,指出使用者介面是否處於可顯示或隱藏鍵盤快速鍵的適當狀態下。 (繼承來源 Control) |
Site |
取得或設定控制項的站台。 |
Size |
取得或設定控制項的高度和寬度。 (繼承來源 Control) |
TabIndex |
取得或設定控制項容器中的控制項定位順序。 (繼承來源 Control) |
TabStop |
取得或設定值,指出使用者是否能使用 TAB 鍵,將焦點 (Focus) 給予這個控制項。 (繼承來源 Control) |
Tag |
取得或設定物件,其包含控制項相關資料。 (繼承來源 Control) |
Text |
這個屬性與這個類別無關。 |
Top |
取得或設定控制項上邊緣和其容器工作區 (Client Area) 上邊緣之間的距離 (單位為像素)。 (繼承來源 Control) |
TopLevelControl |
取得沒有其他 Windows Form 父控制項的父控制項。 通常,這會是內含控制項最外層的 Form。 (繼承來源 Control) |
UseWaitCursor |
取得或設定值,指出是否將等待游標用於目前控制項和所有子控制項。 (繼承來源 Control) |
Visible |
取得或設定值,這個值指出是否顯示控制項及其所有子控制項。 (繼承來源 Control) |
Width |
取得或設定控制項的寬度。 (繼承來源 Control) |
WindowTarget |
這個屬性與這個類別無關。 (繼承來源 Control) |
方法
事件
明確介面實作
適用於
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應