,从我对如何创建键盘Click here for the link无法取得KeyPressEventHandler在用户控件
的用户控件看到了现场。我成功地将控件添加到工具中。并在Form UI中拖动一个。当我开始点击数字。 RaiseButton被触发:
private void btn1_click(object sender,eventargs e)
{
RaiseButton('1');
}
和另一个用户控件。 有此方法
public event KeyPressHandler IsPressed;
public void RaiseButton(char Tosend)
{
KeyPressEventHandler handle = IsPressed;
handle(this,new KeypressEventArgs(Tosend));
}
的Class KeyPressHandler Ispressed值为空 因此它不能写入到文本框。现在我的问题是,我错过了什么使keypresseventhandler为空?
请指教谢谢
嗨,感谢您的快速回复,但是您什么意思没有注册?在这一行公共事件KeypressEventHandler IsPressed - 已经为null的值。我如何注册这个活动? – Androidz 2014-11-21 02:26:03
和对不起,我编辑这里的句柄(this,txtbox.text)到 句柄(这个,新的KeyPresseventargs(tosend));这是在Windows控件库中。 – Androidz 2014-11-21 02:27:46
看来你并不完全了解C#中的事件是如何工作的。我在这里为你创建了一个简单的例子。 https://dotnetfiddle.net/3PfsRJ 它可能会帮助您了解您需要在代码中执行的操作。另外,你可能想看到这个页面。 http://msdn.microsoft.com/en-us/library/aa645739%28v=vs.71%29.aspx 我猜你的名字是你用Java编码。 C#事件与Java如何做有点不同。 – wlemond 2014-11-22 15:58:50