我有一个来自用户控件的按钮,并希望它在单击时通知我的表单。我就是这样做的。这是行不通的。有人能告诉我它有什么问题吗?
在用户控件
中 public event EventHandler clicked;
public string items;
InitializedData data = new InitializedData();
ArrayList list = new ArrayList();
public DataInput()
{
InitializeComponent();
clicked+= new EventHandler(Add_Click);
}
public void Add_Click(object sender, EventArgs e)
{
items = textBox1.Text.PadRight(15) + textBox2.Text.PadRight(15) + textBox3.Text.PadRight(15);
if (clicked != null)
{
clicked(this, e);
}
}
在Form1中
UserControl dataInput= new UserControl();
public void OnChanged(){
dataInput.clicked += Notify;
MessageBox.Show("testing");
}
public void Notify(Object sender, EventArgs e)
{
MessageBox.Show("FIRE");
}
由于
答案 0 :(得分:2)
我应该将UserControls
Button
点击事件分配给Add_Click
,我认为您不希望将UserControl
clicked
事件分配给{{ 1}}
尝试从您的UserControl中删除Add_Click
并将clicked += new EventHandler(Add_Click);
UserControls
Button
事件设置为Click
,以便它会触发Add_Click
{ {1}}
示例:
用户控件:
clicked
形式:
Form