2016-02-25 64 views
1
Private Sub btnOne_Click(sender As Object, e As EventArgs) Handles btnOne.Click 
    txtAnswer.AppendText(1) 
End Sub 

所以这是我的代码(它是0到9和小数点点)。如何让这更高效?

我工作的计算器的任务,我的问题是,我可以让这个更有效,所以我没有大量的代码做同样的事情?

我曾考虑设置一个函数来读取按钮的内容并将它们添加到文本框中,但操作按钮和清除按钮只会添加到文本框而不是执行分配给它们的代码。

回答

1

您可以创建数字按钮的一种方法,其价值增加了​​标签的对象。然后,你可以参考标签对象追加到文本

Private Sub NumericButtons_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    Dim btn As Button 
    btn = sender 
    txtAnswer.AppendText(btn.Tag) 
End Sub 
+0

为什么'Tag'而不是'Text'? – Andrew

+0

为什么文字和不标签...一打或另一半。有多种方法可以做到这一点。我选择了标签,如果作者有文本One,Two等等......但是知道这似乎是最好的方法。 – Sorceri

+0

我猜数字1的按钮在其Text属性中会有'1',这就是为什么我认为它更好。否则,他将不得不重复“Tag”属性中的文本。我从来没有看过计算器拼写的数字。 :P – Andrew

0

您可以创建就像一个函数,但是它应该阅读从发件人的Text物业数量,并只分配的数字按钮,该功能在OnClick事件。

其他按钮将有自己的OnClick方法,并且当您在其中某些按钮中找到常见行为时,您应该制作一个类似于此例的通用函数。也许你可以做的另一种通用功能适用于所有+-/x运营商来说,这是适当的。

+0

谢谢你,我原本以为这会工作,但我无法得到它的工作,但我可以看到我的错误与Sorceri评论。另外,感谢操作员的提示,我会解决这个问题。谢谢:) – ChrisMellor

+0

如果数字在文本中,我认为您可以在没有问题的情况下使用该属性。 – Andrew

+0

你最终使用了什么,@ChrisMellor? – Andrew