Metodo ControlCollection.AddControl (Control, Range, String)
Aggiunge l'oggetto Control specificato all'oggetto ControlCollection nell'intervallo specificato.
Spazio dei nomi: Microsoft.Office.Tools.Excel
Assembly: Microsoft.Office.Tools.Excel (in Microsoft.Office.Tools.Excel.dll)
Sintassi
'Dichiarazione
Function AddControl ( _
control As Control, _
range As Range, _
name As String _
) As ControlSite
ControlSite AddControl(
Control control,
Range range,
string name
)
Parametri
- control
Tipo: System.Windows.Forms.Control
Controllo da aggiungere all'istanza di ControlCollection.
- range
Tipo: Microsoft.Office.Interop.Excel.Range
Oggetto Range che fornisce i limiti per il controllo.
- name
Tipo: System.String
Nome del controllo che può essere utilizzato per indicizzare il controllo nell'istanza di ControlCollection.
Valore restituito
Tipo: Microsoft.Office.Tools.Excel.ControlSite
Oggetto che rappresenta il controllo contenente il controllo specificato nel foglio di lavoro.
Eccezioni
Eccezione | Condizione |
---|---|
ArgumentNullException | L'argomento relativo al controllo, al nome o all'intervallo è nullriferimento null (Nothing in Visual Basic) oppure la lunghezza dell'argomento relativo al nome è zero. |
ControlNameAlreadyExistsException | Nell'istanza di ControlCollection è già presente un controllo con lo stesso nome. |
InvalidRangeException | L'intervallo specificato non è valido. Impossibile utilizzare gli intervalli di più aree. L'intervallo deve trovarsi nello stesso foglio di lavoro dell'istanza di ControlCollection. |
Note
È possibile utilizzare questo metodo per aggiungere un controllo qualsiasi all'oggetto ControlCollection in fase di esecuzione. Per ulteriori informazioni, vedere Aggiunta di controlli ai documenti di Office in fase di esecuzione.
Esempi
Nell'esempio di codice riportato di seguito vengono aggiunti due controlli utente personalizzati al foglio di lavoro utilizzando il metodo AddControl. Il primo controllo viene aggiunto a un intervallo di celle. Il secondo controllo viene aggiunto a una posizione specifica. Il codice modifica la proprietà Top del primo controllo utente personalizzato, la quale sposta solo il controllo relativo all'oggetto ControlSite che contiene il controllo nel foglio di lavoro. Il codice imposta quindi la proprietà Top dell'oggetto ControlSite restituito dal secondo controllo utente personalizzato per indicare la corretta impostazione della proprietà Top del controllo.
Private Sub ExcelRangeAddControl()
Dim CustomUserControl As New UserControl1()
Dim CustomUserControl2 As New UserControl2()
Dim DynamicControl As Microsoft.Office.Tools.Excel.ListObject = Me.Controls.AddControl( _
CustomUserControl, 0, 0, 150, 150, _
"DynamicControl")
Dim DynamicControl2 As Microsoft.Office.Tools.Excel. _
ControlSite = Me.Controls.AddControl( _
CustomUserControl2, 200, 0, 150, 150, _
"DynamicControl2")
CustomUserControl.BackColor = Color.Blue
CustomUserControl2.BackColor = Color.Green
CustomUserControl.Top = 100
DynamicControl2.Top = 100
End Sub
private void ExcelRangeAddControl()
{
UserControl1 customUserControl = new UserControl1();
UserControl2 customUserControl2 = new UserControl2();
Microsoft.Office.Tools.Excel.ControlSite dynamicControl =
this.Controls.AddControl(customUserControl,
0, 0, 150, 150, "dynamicControl");
Microsoft.Office.Tools.Excel.ControlSite dynamicControl2 =
this.Controls.AddControl(customUserControl2, 200, 0,
150, 150, "dynamicControl2");
customUserControl.BackColor = Color.Blue;
customUserControl2.BackColor = Color.Green;
customUserControl.Top = 100;
dynamicControl2.Top = 100;
}
Sicurezza di .NET Framework
- Attendibilità totale per il chiamante immediato. Impossibile utilizzare questo membro in codice parzialmente attendibile. Per ulteriori informazioni, vedere Utilizzo di librerie da codice parzialmente attendibile.