Mira no hay un modo que es usando el databinding de cada caja o label que uses. este es un codigo leelo y usalo a tu gusto checalo esta sencillo el uso
trae la explicacion de cada cosa, esto me sirvio mucho. lo encontre en un manual.
bueno bye OOS!
Imports System.Data.SqlClient
Public Class Form1
Inherits System.Windows.Forms.Form
Private oDataAdapter As SqlDataAdapter
Private oDataSet As DataSet
Private oBMB As BindingManagerBase
"Database=Gestion;uid=sa;pwd=;"
' crear adaptador
oDataAdapter = New SqlDataAdapter("SELECT * FROM Clientes", oConexion)
' crear commandbuilder
Dim oCB As SqlCommandBuilder = New SqlCommandBuilder(oDataAdapter)
' crear dataset
oDataSet = New DataSet()
oDataAdapter.Fill(oDataSet, "Clientes")
' enlazar controles del formulario con el dataset;
' se debe utilizar un objeto Binding, al crear este objeto
' indicar en su constructor qué propiedad del control
' se debe enlazar, el dataset, y el nombre de tabla-columna;
' una vez creado el objeto Binding, añadirlo a la colección
' de enlaces de datos, DataBindings, del control que necesitemos,
' con el método Add() de dicha colección
Dim oBind As Binding
oBind = New Binding("Text", oDataSet, "Clientes.IDCliente")
Me.txtIDCliente.DataBindings.Add(oBind)
oBind = Nothing
oBind = New Binding("Text", oDataSet, "Clientes.Nombre")
Me.txtNombre.DataBindings.Add(oBind)
oBind = Nothing
oBind = New Binding("Text", oDataSet, "Clientes.FIngreso")
'AddHandler oBind.Format, AddressOf FormatoFecha
Me.txtFIngreso.DataBindings.Add(oBind)
oBind = Nothing
oBind = New Binding("Text", oDataSet, "Clientes.Credito")
Me.txtCredito.DataBindings.Add(oBind)
oBind = Nothing
' obtener del contexto de enlace del formulario,
' el enlace de un dataset y una tabla determinadas
Me.oBMB = Me.BindingContext(oDataSet, "Clientes")
Me.VerContadorReg()
End Sub
Private Sub VerContadorReg()
' mostrar información sobre el número de
' registro actual y registros totales
' en la tabla del dataset
Me.lblRegistro.Text = "Registro: " & _
Me.oBMB.Position + 1 & " de " & Me.oBMB.Count
End Sub
Private Sub btnAvanzar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnAvanzar.Click
' avanzar a la siguiente fila;
' la actualización de los controles con los datos
' de la fila en la que acabamos de posicionarnos
' es automática, gracias al objeto BindingManagerBase
Me.oBMB.Position += 1
Me.VerContadorReg()
End Sub
Private Sub btnRetroceder_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnRetroceder.Click
Me.oBMB.Position -= 1
Me.VerContadorReg()
End Sub
Private Sub btnPrimero_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnPrimero.Click
Me.oBMB.Position = 0
Me.VerContadorReg()
End Sub
Private Sub btnUltimo_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnUltimo.Click
Me.oBMB.Position = Me.oBMB.Count - 1
Me.VerContadorReg()
End Sub