我对Windows窗体应用程序中的事件没有什么问题。我无法访问Form1
中的UserControl事件。
public partial class KomisControl : UserControl
{
public KomisControl()
{
InitializeComponent();
}
private static KomisControl _instance;
public static KomisControl Instance
{
get
{
if (_instance == null)
_instance = new KomisControl();
return _instance;
}
}
public delegate void AddButtonEventHandler(object o, EventArgs e);
public event AddButtonEventHandler AddButtonEv;
protected virtual void OnAddButton()
{
AddButtonEv?.Invoke(this, EventArgs.Empty);
}
private void button1_Click(object sender, EventArgs e)
{
OnAddButton();
}
}
Form1中:
答案 0 :(得分:1)
事件不是static
所以只有类名才能访问它。您需要使用Instance
变量,并且需要在构造函数的范围内编写代码:
public Form1()
{
//..all the other stuff.....
KomisControl.Instance.AddButtonEv += ...
}