Usa try en las conversiones, nunca esperes que el usuario ingrese lo que tiene
que ingresar.
Try
Num1 = Convert.ToInt32(txtnum1.Text)
Num2 = Convert.ToInt32(txtnum2.Text)
Resultado = Num1 + Num2
txtresultado.Text = Convert.ToSingle(Resultado)
Catch ex As Exception
messagebox.show("Error!")
End Try
Aunque ya cubres ese error en KeyPress es mejor prevenir.