ToolboxItem.CreateComponentsCore 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
建立元件或叫用工具箱項目時要使用之元件的陣列。
多載
CreateComponentsCore(IDesignerHost) |
建立元件或叫用工具箱項目時要使用之元件的陣列。 |
CreateComponentsCore(IDesignerHost, IDictionary) |
在叫用工具箱項目時建立元件陣列。 |
CreateComponentsCore(IDesignerHost)
建立元件或叫用工具箱項目時要使用之元件的陣列。
protected:
virtual cli::array <System::ComponentModel::IComponent ^> ^ CreateComponentsCore(System::ComponentModel::Design::IDesignerHost ^ host);
protected virtual System.ComponentModel.IComponent[] CreateComponentsCore (System.ComponentModel.Design.IDesignerHost host);
protected virtual System.ComponentModel.IComponent[]? CreateComponentsCore (System.ComponentModel.Design.IDesignerHost? host);
abstract member CreateComponentsCore : System.ComponentModel.Design.IDesignerHost -> System.ComponentModel.IComponent[]
override this.CreateComponentsCore : System.ComponentModel.Design.IDesignerHost -> System.ComponentModel.IComponent[]
Protected Overridable Function CreateComponentsCore (host As IDesignerHost) As IComponent()
參數
- host
- IDesignerHost
用來裝載工具箱項目的 IDesignerHost。
傳回
建立的 IComponent 物件的陣列。
備註
如果 host
不是 null
,方法 CreateComponentsCore 會將新的元件新增至設計工具。
給繼承者的注意事項
您可以覆寫 CreateComponentsCore(IDesignerHost) 方法,以傳回工具箱專案所建立的元件或元件。
另請參閱
適用於
CreateComponentsCore(IDesignerHost, IDictionary)
在叫用工具箱項目時建立元件陣列。
protected:
virtual cli::array <System::ComponentModel::IComponent ^> ^ CreateComponentsCore(System::ComponentModel::Design::IDesignerHost ^ host, System::Collections::IDictionary ^ defaultValues);
protected virtual System.ComponentModel.IComponent[] CreateComponentsCore (System.ComponentModel.Design.IDesignerHost host, System.Collections.IDictionary defaultValues);
protected virtual System.ComponentModel.IComponent[]? CreateComponentsCore (System.ComponentModel.Design.IDesignerHost? host, System.Collections.IDictionary? defaultValues);
abstract member CreateComponentsCore : System.ComponentModel.Design.IDesignerHost * System.Collections.IDictionary -> System.ComponentModel.IComponent[]
override this.CreateComponentsCore : System.ComponentModel.Design.IDesignerHost * System.Collections.IDictionary -> System.ComponentModel.IComponent[]
Protected Overridable Function CreateComponentsCore (host As IDesignerHost, defaultValues As IDictionary) As IComponent()
參數
- host
- IDesignerHost
建立元件時要使用的設計工具主應用程式。
- defaultValues
- IDictionary
預設值的屬性名稱/值組字典,用於初始化元件。
傳回
建立的 IComponent 物件的陣列。
範例
下列程式代碼範例示範 CreateComponentsCore 在衍生 ToolboxItem 自 的類別中使用 方法,以進行自定義工具箱項目實作。 此程式代碼範例是針對 類別提供的較大範例的 ToolboxItem 一部分。
protected override IComponent[] CreateComponentsCore(
System.ComponentModel.Design.IDesignerHost host,
System.Collections.IDictionary defaultValues)
{
// Get the string we want to fill in the custom
// user control. If the user cancels out of the dialog,
// return null or an empty array to signify that the
// tool creation was canceled.
using (ToolboxItemDialog d = new ToolboxItemDialog())
{
if (d.ShowDialog() == DialogResult.OK)
{
string text = d.CreationText;
IComponent[] comps =
base.CreateComponentsCore(host, defaultValues);
// comps will have a single component: our data type.
((UserControl1)comps[0]).LabelText = text;
return comps;
}
else
{
return null;
}
}
}
Protected Overrides Function CreateComponentsCore( _
ByVal host As System.ComponentModel.Design.IDesignerHost, _
ByVal defaultValues As System.Collections.IDictionary) _
As IComponent()
' Get the string we want to fill in the custom
' user control. If the user cancels out of the dialog,
' return null or an empty array to signify that the
' tool creation was canceled.
Using d As New ToolboxItemDialog()
If d.ShowDialog() = DialogResult.OK Then
Dim [text] As String = d.CreationText
Dim comps As IComponent() = _
MyBase.CreateComponentsCore(host, defaultValues)
' comps will have a single component: our data type.
CType(comps(0), UserControl1).LabelText = [text]
Return comps
Else
Return Nothing
End If
End Using
End Function
備註
如果 host
不是 null
,方法 CreateComponentsCore 會將新的元件新增至設計工具。