Lo puedes hacer a través de las consultas a la base de datos, siempre y cuando no haya duplicados, con los datos ordenados:
por ejemplo ir al primer registro:
SELECT top 1 * FROM tabla ORDER BY campo ASC
ultimo registro
SELECT top 1 * FROM cmwdoc ORDER BY docnfa DESC
siguiente:
SELECT top 1 * FROM tabla WHERE campo < 'POSICION_ACTUAL' ORDER BY campo ASC
anterior:
SELECT top 1 * FROM tabla WHERE campo < 'POSICION_ACTUAL' ORDER BY campo DESC
solo tienes que controlar, cual es tu primer registro, el ultimo y el actual, algo asi como paginar de uno...
y si ya tienes la informacion en un DataTable, puedes desplazarte a traves de este con un indice:
TextBox.Text = Tabla.Rows(POSICION_ACTUAL)(CAMPO_A_MOSTRAR).ToString()
y solo incrementas o decrementas POSICION_ACTUAL cuidando de igual forma que el indice no se desborde, yo creo que esto es lo que necesitas, ya que el primero es para paginar una cantidad grande de datos
espero te sirva, saludos