Procedimiento para agregar los botones Cargar, Guardar y Cancelar al control BindingNavigator de formularios Windows Forms

El control BindingNavigator es un control ToolStrip con una finalidad específica destinado a navegar por los controles de un formulario que están enlazados a datos, así como manipularlos.

Dado que es un control ToolStrip, el componente BindingNavigator se puede modificar fácilmente para incluir comandos adicionales o alternativos para el usuario.

En el procedimiento siguiente, hay un control TextBox enlazado a datos y el control ToolStrip que se agrega al formulario se modifica para incluir los botones Cargar, Guardar y Cancelar.

Agregar los botones Cargar, Guardar y Cancelar al componente BindingNavigator

  1. En Visual Studio, agregue un control TextBox al formulario.

  2. Enlácelo a un elemento BindingSource, que está enlazado a un origen de datos. En este ejemplo, BindingSource está enlazado a una base de datos.

  3. Después de generar el conjunto de datos y el adaptador de tabla, arrastre un control BindingNavigator al formulario.

  4. Establezca la propiedad BindingSource del control BindingNavigator en el elemento BindingSource del formulario que está enlazado a los controles.

  5. Seleccione el control BindingNavigator.

  6. Haga clic en el glifo de acciones del Diseñador (Flecha negra pequeña) para que se abra el cuadro de diálogo Tareas de BindingNavigator y seleccione Editar elementos.

    Se abre el editor de la colección de elementos.

  7. Haga lo siguiente en el editor de la colección de elementos:

    1. Agregue un elemento ToolStripSeparator y tres elementos ToolStripButton; para ello, seleccione el tipo adecuado de ToolStripItem y haga clic en el botón Agregar.

    2. Establezca la propiedad Name de los botones en LoadButton, SaveButton y CancelButton respectivamente.

    3. Establezca la propiedad Text de los botones en Cargar, Guardar y Cancelar.

    4. Establezca la propiedad DisplayStyle de cada uno de los botones en Text. Como alternativa, puede establecer esta propiedad en Image o ImageAndText y establecer la imagen que se mostrará en la propiedad Image.

    5. Haga clic en Aceptar para cerrar el cuadro de diálogo. Los botones se agregan a ToolStrip.

  8. Haga clic con el botón derecho en el formulario y seleccione Ver código.

  9. En el Editor de código, busque la línea de código que carga datos en el adaptador de tabla. Este código se generó al configurar el enlace de datos en el paso 2. El código debe ser similar al siguiente: TableAdapterName.Fill(DataSetName.TableName). Lo más probable es que esté en el evento del formulario Load.

  10. Cree un controlador de eventos para el evento Click del botón CargarToolStripButton que creó anteriormente e incluya en él este código de carga de datos.

    Ahora, el código debe ser similar al siguiente:

    Private Sub LoadButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LoadButton.Click
        TableAdapterName.Fill(DataSetName.TableName)
    End Sub
    
    private void LoadButton_Click(System.Object sender,
        System.EventArgs e)
    {
        TableAdapterName.Fill(DataSetName.TableName);
    }
    
  11. Cree un controlador de eventos para el evento Click del botón GuardarToolStripButton que creó anteriormente y escriba código para actualizar los datos de la tabla a la que el control está enlazado.

    Private Sub SaveButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveButton.Click
        TableAdapterName.Update(DataSetName.TableName)
    End Sub
    
    private void SaveButton_Click(System.Object sender,
        System.EventArgs e)
    {
        TableAdapterName.Update(DataSetName.TableName);
    }
    

    Nota

    En algunos casos, el componente BindingNavigator ya tiene un botón Guardar, pero el Diseñador de Windows Forms no ha generado ningún código. En ese caso, puede colocar el código anterior en el controlador de eventos Click de ese botón en vez de crear un botón completamente nuevo en ToolStrip. No obstante, el botón está deshabilitado de forma predeterminada, por lo que debe establecer la propiedad Enabled del botón en true para que funcione correctamente.

  12. Cree un controlador de eventos para el evento Click del botón CancelarToolStripButton que creó anteriormente y escriba código para cancelar cualquier cambio en el registro de datos que se muestra.

    Private Sub CancelButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CancelButton.Click
        BindingSourceName.CancelEdit()
    End Sub
    
    private void CancelButton_Click(System.Object sender, System.EventArgs e)
    {
        BindingSourceName.CancelEdit();
    }
    

    Nota

    El ámbito del método CancelEdit es la fila de datos. Guarde cualquier cambio que haga mientras ve ese registro individual antes de desplazarse al siguiente registro.

Consulte también