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
イベントを購読することができます。
ただし、フィールドに最後のキーを保存するのではなく、独自のEventArgを作成してイベント自体に文字列を渡す方が良い場合があります。次のようなものがあります。
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"));
}
+1のカスタムイベントターゲットのアプローチ –
:-) – Cerebrus
おかげさまで、あなたが言ったように、私はしました..そして、文字列を直接に..メモリをいくつか保存しました。 – Dabiddo