Hola
DavidNovato!! Bienvenido al foro!, eso pasa porque estas juntando el método Datos con la llamada del mismo.
Primero creas tu Funcion :
Código vb:
Ver originalPublic Function Datos() As DataTable
Dim dt As New DataTable
Dim conexion As New MySqlConnection("Server=localhost; Database=controlsmi; user=root; password=Smi2012") 'cadena conexion
Dim consulta As String = "SELECT * FROM proveedor" 'consulta a la tabla
Dim comando As New MySqlCommand(consulta, conexion)
Dim adap As New MySqlDataAdapter(comando)
adap.Fill(dt)
Return dt
End Function
y luego llamas a tu método en el Load de tu form :
Código vb:
Ver originalcboproveedor.DataSource = Datos()
cboproveedor.DisplayMember = "nombre"
cboproveedor.ValueMember = "ID"
Tu llamada del método como te dije estaba dentro de la funcion y despues del
RETURN, por lo que no leía esas líneas, ya que una vez que llega al return sale de la funcion. Prueba y nos comentas. Saludos!

.