是否可以在另一个项目的dll中为一个类添加一个click方法?
我想在类库中创建一个类(Class1)并从中构建一个dll
我将在一个参考dll的项目中使用该类。
这是我的班级(Class1)
public class Class1
{
public ImageMap map = null;
public Class1(Form f)
{
map = new ImageMap();
map.RegionClick += f.RegionMap_Clicked;
}
}
这是我在另一个项目中的表格(Form1)。
public partial class Form1 : Form
{
Class1 c = null;
public Form1()
{
InitializeComponent();
c = new Class1(this);
}
void RegionMap_Clicked(int index, string key)
{
MessageBox.Show(key);
}
}
这是我第一次问这里。所以,对不起,如果我的英语不好。
答案 0 :(得分:0)
是的,可以,不要忘记让你的处理程序公开:
public void RegionMap_Clicked(int index, string key)
{
MessageBox.Show(key);
}
答案 1 :(得分:0)
你应该这样做
public class Class1
{
public ImageMap map = null;
public Class1(Form1 f)
{
map = new ImageMap();
map.RegionClick += f.RegionMap_Clicked;
}
}
然后
public partial class Form1 : Form
{
Class1 c = null;
public Form1()
{
InitializeComponent();
c = new Class1(this);
}
public void RegionMap_Clicked(int index, string key)
{
MessageBox.Show(key);
}
}
当然你应该为这个组件添加使用。
我认为现在它会运作良好
答案 2 :(得分:0)
Class1可以独立于Form1:
public class Class1
{
public ImageMap Map = null;
public Class1()
{
this.Map = new ImageMap();
}
}
Form1使用Class1但它喜欢:
public partial class Form1 : Form
{
private Class1 c = null;
public Form1()
{
InitializeComponent();
this.c = new Class1();
this.c.Map.RegionClick += this.RegionMap_Clicked;
}
private void RegionMap_Clicked(int index, string key)
{
MessageBox.Show(key);
}
}
因此,只有Form1项目需要对Class1项目的引用。