我正试图在我的系统中进行收藏控制 我有一个包含一些ComboBoxs,TextBoxes和按钮的表单,在我的代码中,我在ComboBoxs,TextChange inTextBoxes和Click to buttons中添加了一个像SelectedValueChanged事件这样的envet。
在每个控件旁边,我有一个面板控件,我在其中添加了一个我创建的用户控件实例(ToolStripButton)来显示收藏夹。
为了收集收藏夹的数据,我需要听取表单中控件的事件(例如,听一下ComboBox的SelectedValueChanged事件并将此值保存到收藏夹中)。
有没有办法可以从收藏夹用户控件中监听这些事件?
答案 0 :(得分:1)
为了收听某些事件,您应该订阅该事件。您可以在收藏夹用户控件中订阅活动(您需要传递将事件引发到用户控件的控件):
// code for you FavoritesUserControl
public void Subscribe(ListBox listBox)
{
listBox.SelectedValueChanged += ListBoxSelectedValueChanged;
}
private void ListBoxSelectedValueChanged(object sender, EventArgs e)
{
// do what you want
}
用法:
favorites1.Subscribe(listbox1);
或者您可以在表单上订阅活动,并在事件处理程序中通知用户控件:
// code for your Form
private void ListBoxSelectedValueChanged(object sender, EventArgs e)
{
favorites1.DoSomething();
}