我想构建处理system.windows.forms.form的dll文件如何覆盖dll类中的任何表单方法,如(WndProc)?
public partial class MyDll
{
public MyDll(System.Windows.Forms.Form form)
{
// i want to override WinProc form from my dll file.
}
}
我的项目是“ClassLibrary”而不是“WindowsFormsApplication”
答案 0 :(得分:0)
您可以通过以下方式轻松覆盖该方法:
protected override void WndProc(ref Message m){...}
您可以在此处找到一些示例:http://msdn.microsoft.com/library/system.windows.forms.control.wndproc%28v=vs.110%29.aspx
答案 1 :(得分:0)
如果您将表单作为参数传递,则您拥有该类的实例,而不是定义。您必须创建自己的表单,覆盖前面提到的方法,然后将此新表单传递给MyDll构造函数。例如: 创建一个新的类库项目。添加两个文件: - MyDllClass.cs - MyForm(添加新的>窗口形式)
public partial class MyForm : Form
{
protected override void WndProc(ref Message m)
{
//your code here
base.WndProc(ref m);
}
}
然后在MyDllClass.cs中你将拥有
public MyDllClass(Form your_form_here)
{
//your code here
}