关于良好设计的问题(.NET,System.Windows.Form.Button,C#)

时间:2011-03-14 12:01:18

标签: c# .net inheritance

我想知道解决以下情况的智能方法:

我想用System.Windows.Form实现屏幕键盘。有很多按钮功能要实现,我真的不想为每个按钮编写一个回调函数,因为它们基本上都是一样的。

在哪里可以以实实的方式将“字符”信息存储在按钮对象中,而不会使用太多的黑客攻击?

或者..一般来说,你能告诉我一些更好的方法吗?

3 个答案:

答案 0 :(得分:1)

继承自Button,以便您可以(可能在构造函数中)提供按钮所代表的字符代码。使用该按钮。

或者,由于按钮会在按钮文本中显示它的字符,只需获取按钮文本以找出已按下的内容。

答案 1 :(得分:1)

WPF上已经有很多屏幕键盘,可能想看看那些。如果您不想直接使用它们,它们至少可以指向您:

http://wosk.codeplex.com/

http://wpfkb.codeplex.com/

答案 2 :(得分:1)

Button的Tag属性是存储信息的好地方。

Control.Tag Property via MSDN