calculo que a parte de teres os botoes que funcionem como teclado deves saber fazer.
Agora a parte de usar o teclado do pc e ignorar as operaçoes.
Para isso usas o handler OnKeyDown da textbox, o que isto faz é que sempre que alguem carregue numa tecla, vai ser executada a tua função, e assim podes analisar a tecla premida e escolher o que queres fazer.
Código:
Dim oper As Integer = 0
Dim clear As Boolean = False
Dim valor As Double = 0
Sub TextBox1KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs )
If e.KeyCode = keys.Multiply Then
e.SuppressKeyPress = True
oper = 1
clear = True
valor = CInt(TextBox1.Text )
exit sub
elseIf e.KeyCode = keys.Enter Then
e.SuppressKeyPress = True
if oper = 1
valor = valor * cint(TextBox1.Text )
end if
TextBox1.Text = valor
valor = 0
clear = true
Else
If clear Then
TextBox1.Text = ""
End If
End If
clear = False
End Sub
com e.SuppressKeyPress = True fazes com que as teclas especiais (*, /, +, -, enter, etc) não apareçam na textbox. Este meu exemplo so esta feito para numeros inteiros (usei CINT em vez de CDBL)
Sempre que aparece uma tecla especial, eu suprimo-a, mudo o valor de "oper" para guardar a operação a executar e marco "clear" como TRUE, assim apago o valor inicial para poder inserir o 2º valor. Guardo tambem em "valor" o valor do 1º numero que quero usar na conta.
Quando apanho o ENTER, basta ver que operacao tenho em "oper", e executo essa opcao com os valores inseridos
Isto esta um bocado confuso mas acho que da para perceber a ideia