【发布时间】:2015-04-19 20:24:07
【问题描述】:
我正在开发一个类似计算器的应用程序。我希望当我按下键盘上的“1”键时,计算器UI上的“1”按钮也会被按下,然后返回到原来的状态。这是我的按钮代码,当按下按钮“1”时,数字“1”将显示在文本框中。
private void KeyPadBtn_Press(object sender, RoutedEventArgs e)
{
Button keyPadBtn = e.Source as Button;
switch (keyPadBtn.Name)
{
case "OneBtn": { NumDisplayBox.Text = NumDisplayBox.Text + "1"; break; }
case "TwoBtn": { NumDisplayBox.Text = NumDisplayBox.Text + "2"; break; }
case "ThreeBtn": { NumDisplayBox.Text = NumDisplayBox.Text + "3"; break; }
case "FourBtn": { NumDisplayBox.Text = NumDisplayBox.Text + "4"; break; }
case "FiveBtn": { NumDisplayBox.Text = NumDisplayBox.Text + "5"; break; }
case "SixBtn": { NumDisplayBox.Text = NumDisplayBox.Text + "6"; break; }
case "SevenBtn": { NumDisplayBox.Text = NumDisplayBox.Text + "7"; break; }
case "EightBtn": { NumDisplayBox.Text = NumDisplayBox.Text + "8"; break; }
case "NineBtn": { NumDisplayBox.Text = NumDisplayBox.Text + "9"; break; }
case "ZeroBtn": { NumDisplayBox.Text = NumDisplayBox.Text + "0"; break; }
case "StarBtn": { NumDisplayBox.Text = NumDisplayBox.Text + "*"; break; }
case "HashBtn": { NumDisplayBox.Text = NumDisplayBox.Text + "#"; break; }
}
}
有什么建议吗?
【问题讨论】:
-
您使用的是普通按钮吗?还是应用了一些样式?
-
您可以对特定按钮使用 ASCII 码,而不是在下一页执行操作。
-
您使用什么操作系统,您的项目使用什么 .net 框架?
-
您能否在您的问题中添加所需的按下状态图像? Cauz 按钮在不同操作系统中有所不同
-
通常,您会为您的 UI 对象(例如按钮)定义一种样式,并配置一个触发器以根据某处表示键状态的属性的值来修改对象的视觉状态。如果你想要比这更具体的东西,你真的应该包括清楚地说明问题的a good, minimal, complete code example。