Compartilhar via


RemoteBindableComponent Classe (sistema de 2007)

Fornece uma implementação padrão do IBindableComponent interface para controles de host no Visual Studio Tools for Office soluções.

Namespace:  Microsoft.VisualStudio.Tools.Office
Assembly:  Microsoft.Office.Tools.v9.0 (em Microsoft.Office.Tools.v9.0.dll)

Sintaxe

<PermissionSetAttribute(SecurityAction.Demand, Name := "FullTrust")> _
Public MustInherit Class RemoteBindableComponent _
    Inherits RemoteComponent _
    Implements IBindableComponent, IComponent, IDisposable

Dim instance As RemoteBindableComponent
[PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
public abstract class RemoteBindableComponent : RemoteComponent, 
    IBindableComponent, IComponent, IDisposable

Comentários

Hospedar controles que podem ser limite dados herdam o RemoteBindableComponent classe. Esta classe não se destina a ser usado diretamente em seu código.

Para obter mais informações sobre controles de host, consulte Itens de host e Visão geral sobre controles de host.

Exemplos

O exemplo de código a seguir adiciona uma única célula NamedRange controle (que deriva de RemoteBindableComponent), um DataSet com uma única coluna de nomes e um Button a planilha corrente. O exemplo usa o DataBindings propriedade para BIND a DataSet para o Value2 propriedade das NamedRange. Quando o Button é clicado, o exemplo usa o BindingContext propriedade para exibir o nome na próximo a NamedRange.

Private namedRange1 As Microsoft.Office.Tools.Excel.NamedRange
PrivateWithEvents button1 As Microsoft.Office.Tools.Excel.Controls.Button
Private customerNames AsString() = _
    {"Reggie", "Sally", "Henry", "Christine"}
Private ds As DataSet

PrivateSub SetBindingContext()
    namedRange1 = Me.Controls.AddNamedRange(Me.Range("A1", _
        System.Type.Missing), "namedRange1")

    ' Create a button that scrolls through the data     ' displayed in the NamedRange.
    button1 = Me.Controls.AddButton(50, 20, 100, 20, "button1")
    button1.Text = "Display next item"
    ' Create a data table with one column.
    ds = New DataSet()
    Dim table As DataTable = ds.Tables.Add("Customers")
    Dim column1 AsNew DataColumn("Names", GetType(String))
    table.Columns.Add(column1)

    ' Add the names to the table.Dim row As DataRow
    Dim i AsIntegerFor i = 0 To customerNames.Length - 1
        row = table.NewRow()
        row("Names") = customerNames(i)
        table.Rows.Add(row)
    Next i

    ' Create a new Binding that links the Value2 property    ' of the NamedRange and the Names column.Dim binding1 AsNew Binding("Value2", ds, "Customers.Names", True)
    namedRange1.DataBindings.Add(binding1)
EndSub
' Displays the next data item in the NamedRange.PrivateSub button1_Click(ByVal sender AsObject, ByVal e As EventArgs) _
    Handles button1.Click

    IfNot (namedRange1.BindingContext IsNothing) ThenDim bindingManager1 As BindingManagerBase = _
            namedRange1.BindingContext(ds, "Customers")

        ' Display the next item.If bindingManager1.Position < bindingManager1.Count - 1 Then
            bindingManager1.Position += 1

            ' Display the first item.Else
            bindingManager1.Position = 0
        EndIfEndIfEndSub
private Microsoft.Office.Tools.Excel.NamedRange namedRange1;
private Microsoft.Office.Tools.Excel.Controls.Button button1;
privatestring[] customerNames = 
    { "Reggie", "Sally", "Henry", "Christine" };
private DataSet ds;

privatevoid SetBindingContext()
{
    namedRange1 = this.Controls.AddNamedRange(
        this.Range["A1", missing], "namedRange1");

    // Create a button that scrolls through the data // displayed in the NamedRange.
    button1 = this.Controls.AddButton(50, 20, 100, 20,
        "button1");
    button1.Text = "Display next item";
    button1.Click += new EventHandler(button1_Click);

    // Create a data table with one column.
    ds = new DataSet();
    DataTable table = ds.Tables.Add("Customers");
    DataColumn column1 = new DataColumn("Names", typeof(string));
    table.Columns.Add(column1);

    // Add the names to the table.
    DataRow row;
    for (int i = 0; i < customerNames.Length; i++)
    {
        row = table.NewRow();
        row["Names"] = customerNames[i];
        table.Rows.Add(row);
    }

    // Create a new Binding that links the Value2 property// of the NamedRange and the Names column.
    Binding binding1 = new Binding("Value2", ds, "Customers.Names", true);
    namedRange1.DataBindings.Add(binding1);
}

// Displays the next data item in the NamedRange.void button1_Click(object sender, EventArgs e)
{
    if (namedRange1.BindingContext != null)
    {
        BindingManagerBase bindingManager1 =
            namedRange1.BindingContext[ds, "Customers"];

        // Display the next item.if (bindingManager1.Position < bindingManager1.Count - 1)
        {
            bindingManager1.Position++;
        }

        // Display the first item.else
        {
            bindingManager1.Position = 0;
        }
    }
}

Hierarquia de herança

System.Object
  Microsoft.VisualStudio.Tools.Office.RemoteComponent
    Microsoft.VisualStudio.Tools.Office.RemoteBindableComponent
      Microsoft.Office.Tools.Excel.Chart
      Microsoft.Office.Tools.Excel.ListObject
      Microsoft.Office.Tools.Excel.NamedRange
      Microsoft.Office.Tools.Excel.XmlMappedRange
      Microsoft.Office.Tools.Word.Bookmark
      Microsoft.Office.Tools.Word.ContentControlBase
      Microsoft.Office.Tools.Word.XMLNode

Acesso thread-safe

Quaisquer membros static (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Consulte também

Referência

Membros RemoteBindableComponent

Namespace Microsoft.VisualStudio.Tools.Office

Outros recursos

Itens de host e Visão geral sobre controles de host