Método ControlCollection.AddComboBoxContentControl (ContentControl, String)
Adiciona um novo ComboBoxContentControl à coleção. O novo controle baseia-se em um controle de conteúdo nativo que já está no documento.
Namespace: Microsoft.Office.Tools.Word
Assembly: Microsoft.Office.Tools.Word (em Microsoft.Office.Tools.Word.dll)
Sintaxe
'Declaração
Function AddComboBoxContentControl ( _
contentControl As ContentControl, _
name As String _
) As ComboBoxContentControl
ComboBoxContentControl AddComboBoxContentControl(
ContentControl contentControl,
string name
)
Parâmetros
- contentControl
Tipo: Microsoft.Office.Interop.Word.ContentControl
O Microsoft.Office.Interop.Word.ContentControl ou seja, a base para o novo controle.
- name
Tipo: System.String
O nome do novo controle.
Valor de retorno
Tipo: Microsoft.Office.Tools.Word.ComboBoxContentControl
O ComboBoxContentControl que foi adicionado ao documento.
Exceções
Exceção | Condição |
---|---|
ArgumentNullException | contentControl is nulluma referência nula (Nothing no Visual Basic). - ou - nameé nulluma referência nula (Nothing no Visual Basic) ou tem comprimento zero. |
ControlNameAlreadyExistsException | Um controle com o mesmo nome já está na ControlCollection. |
ArgumentException | contentControlnão é uma Galeria de bloco de construção (isto é, o Type propriedade de contentControl não tem o valor Microsoft.Office.Interop.Word.WdContentControlType.wdContentControlComboBox). |
Comentários
Use esse método para adicionar um novo ComboBoxContentControl que se baseia em um controle de conteúdo nativo no documento no tempo de execução. Isso é útil quando você cria um ComboBoxContentControl em tempo de execução, e você quiser recriar o mesmo controle na próxima vez em que o documento for aberto. For more information, see Adicionar controles a documentos do Office em tempo de execução.
Exemplos
O exemplo de código a seguir cria um novo ComboBoxContentControl para cada caixa de combinação nativo que está já no documento.
Esta versão é para uma personalização em nível de documento. Para usar esse código, colá-lo na ThisDocument classe em seu projeto e a chamada a CreateComboBoxControlsFromNativeControls método a partir do ThisDocument_Startup método.
Private comboBoxControls As New System.Collections.Generic.List _
(Of Microsoft.Office.Tools.Word.ComboBoxContentControl)
Private Sub CreateComboBoxControlsFromNativeControls()
If Me.ContentControls.Count <= 0 Then
Return
End If
Dim count As Integer = 0
For Each nativeControl As Word.ContentControl In Me.ContentControls
If nativeControl.Type = Word.WdContentControlType.wdContentControlComboBox Then
count += 1
Dim tempControl As Microsoft.Office.Tools.Word.ComboBoxContentControl = _
Me.Controls.AddComboBoxContentControl(nativeControl, _
"VSTOComboBoxContentControl" + count.ToString())
comboBoxControls.Add(tempControl)
End If
Next nativeControl
End Sub
private System.Collections.Generic.List
<Microsoft.Office.Tools.Word.ComboBoxContentControl> comboBoxControls;
private void CreateComboBoxControlsFromNativeControls()
{
if (this.ContentControls.Count <= 0)
return;
comboBoxControls = new System.Collections.Generic.List
<Microsoft.Office.Tools.Word.ComboBoxContentControl>();
int count = 0;
foreach (Word.ContentControl nativeControl in this.ContentControls)
{
if (nativeControl.Type == Word.WdContentControlType.wdContentControlComboBox)
{
count++;
Microsoft.Office.Tools.Word.ComboBoxContentControl tempControl =
this.Controls.AddComboBoxContentControl(nativeControl,
"VSTOComboBoxContentControl" + count.ToString());
comboBoxControls.Add(tempControl);
}
}
}
Esta versão é um suplemento de nível de aplicativo que se destina a .NET Framework 4. Para usar esse código, colá-lo na ThisAddIn classe em seu projeto e a chamada a CreateComboBoxControlsFromNativeControls método a partir do ThisAddIn_Startup método.
Private comboBoxControls As New System.Collections.Generic.List _
(Of Microsoft.Office.Tools.Word.ComboBoxContentControl)
Private Sub CreateComboBoxControlsFromNativeControls()
If Me.Application.ActiveDocument Is Nothing Then
Return
End If
Dim vstoDoc As Document = Globals.Factory.GetVstoObject(Me.Application.ActiveDocument)
If vstoDoc.ContentControls.Count <= 0 Then
Return
End If
Dim count As Integer = 0
For Each nativeControl As Word.ContentControl In vstoDoc.ContentControls
If nativeControl.Type = Word.WdContentControlType.wdContentControlComboBox Then
count += 1
Dim tempControl As Microsoft.Office.Tools.Word.ComboBoxContentControl = _
vstoDoc.Controls.AddComboBoxContentControl(nativeControl, _
"VSTOComboBoxContentControl" + count.ToString())
comboBoxControls.Add(tempControl)
End If
Next nativeControl
End Sub
private System.Collections.Generic.List
<Microsoft.Office.Tools.Word.ComboBoxContentControl> comboBoxControls;
private void CreateComboBoxControlsFromNativeControls()
{
if (this.Application.ActiveDocument == null)
return;
Document vstoDoc = Globals.Factory.GetVstoObject(this.Application.ActiveDocument);
if (vstoDoc.ContentControls.Count <= 0)
return;
comboBoxControls = new System.Collections.Generic.List
<Microsoft.Office.Tools.Word.ComboBoxContentControl>();
int count = 0;
foreach (Word.ContentControl nativeControl in vstoDoc.ContentControls)
{
if (nativeControl.Type == Word.WdContentControlType.wdContentControlComboBox)
{
count++;
Microsoft.Office.Tools.Word.ComboBoxContentControl tempControl =
vstoDoc.Controls.AddComboBoxContentControl(nativeControl,
"VSTOComboBoxContentControl" + count.ToString());
comboBoxControls.Add(tempControl);
}
}
}
O exemplo de código a seguir cria um novo ComboBoxContentControl para cada caixa de combinação nativo, o usuário adiciona ao documento.
Esta versão é para uma personalização em nível de documento. Para usar esse código, colá-lo para o ThisDocument classe no projeto. Para C#, você também deve anexar o ThisDocument_ComboBoxContentControlAfterAdd o manipulador de eventos para o ContentControlAfterAdd o evento da ThisDocument classe.
Private Sub ThisDocument_ComboBoxContentControlAfterAdd(ByVal NewContentControl As Word.ContentControl, _
ByVal InUndoRedo As Boolean) Handles Me.ContentControlAfterAdd
If NewContentControl.Type = Word.WdContentControlType.wdContentControlComboBox Then
Me.Controls.AddComboBoxContentControl(NewContentControl, _
"ComboBoxControl" + NewContentControl.ID)
End If
End Sub
void ThisDocument_ComboBoxContentControlAfterAdd(Word.ContentControl NewContentControl, bool InUndoRedo)
{
if (NewContentControl.Type == Word.WdContentControlType.wdContentControlComboBox)
{
this.Controls.AddComboBoxContentControl(NewContentControl,
"ComboBoxControl" + NewContentControl.ID);
}
}
Esta versão é um suplemento de nível de aplicativo que se destina a .NET Framework 4. Para usar esse código, colá-lo para o ThisAddIn classe no projeto. Além disso, você deve anexar o ActiveDocument_ComboBoxContentControlAfterAdd o manipulador de eventos para o ContentControlAfterAdd eventos do documento ativo.
Private Sub ActiveDocument_ComboBoxContentControlAfterAdd( _
ByVal NewContentControl As Word.ContentControl, _
ByVal InUndoRedo As Boolean)
Dim vstoDoc As Document = Globals.Factory.GetVstoObject(Me.Application.ActiveDocument)
If NewContentControl.Type = Word.WdContentControlType. _
wdContentControlComboBox Then
vstoDoc.Controls.AddComboBoxContentControl(NewContentControl, _
"ComboBoxControl" + NewContentControl.ID)
End If
End Sub
void ActiveDocument_ComboBoxContentControlAfterAdd(
Word.ContentControl NewContentControl, bool InUndoRedo)
{
Document vstoDoc = Globals.Factory.GetVstoObject(this.Application.ActiveDocument);
if (NewContentControl.Type == Word.WdContentControlType.wdContentControlComboBox)
{
vstoDoc.Controls.AddComboBoxContentControl(NewContentControl,
"ComboBoxControl" + NewContentControl.ID);
}
}
Segurança do .NET Framework
- Confiança total para o chamador imediato. O membro não pode ser usado por código parcialmente confiável. Para obter mais informações, consulte Usando bibliotecas de código parcialmente confiáveis.
Consulte também
Referência
Sobrecargas AddComboBoxContentControl
Namespace Microsoft.Office.Tools.Word
Outros recursos
Adicionar controles a documentos do Office em tempo de execução
Métodos auxiliares para controles de Host
Como: Adicionar controles de conteúdo para documentos do Word