我已经创建了一个用户控制键盘...当你点击键盘上的一个按钮时,会抛出button_click
事件,当点击按钮C时,字符串会得到一个参数示例
CButton_Click
{
txt="C";
}
我需要在用户控件之外捕获该事件...因此,当单击按钮时,文本框中会填充字符串...给用户在用户点击按钮时填充的印象。
这适用于触摸屏应用程序。
答案 0 :(得分:3)
您必须在UserControl中声明自己的事件,并在必要时触发事件。使用您的示例:
public event EventHandler ButtonClicked;
protected override OnButtonClicked(EventArgs e)
{
var hand = ButtonClicked;
if (hand != null)
hand(this, e);
}
private void CButton_Click(Object sender, EventArgs e)
{
txt = "C";
OnButtonClicked(new EventArgs());
}
然后,您可以从其他代码订阅UserControl的ButtonClicked
事件。
public KeyboardEventArgs : EventArgs
{
public KeyboardEventArgs()
:base()
{
}
public KeyboardEventArgs(char Key)
:this()
{
this.Key = Key;
}
char Key {get; set;}
}
public event EventHandler<KeyboardEventArgs> ButtonClicked;
protected override OnButtonClicked(KeyboardEventArgs e)
{
var hand = ButtonClicked;
if (hand != null)
hand(this, e);
}
private void CButton_Click(Object sender, EventArgs e)
{
OnButtonClicked(new KeyboardEventArgs("C"));
}