从DLL类重写表单方法
本文关键字:表单 方法 重写 DLL | 更新日期: 2023-09-27 17:51:12
我想建立与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"
您可以通过以下方式轻松地覆盖该方法:
protected override void WndProc(ref Message m){...}
在这里你可以找到一些例子:http://msdn.microsoft.com/library/system.windows.forms.control.wndproc%28v=vs.110%29.aspx
如果将表单作为参数传递,则得到的是类的实例,而不是定义。您必须创建自己的表单,覆盖前面提到的方法,然后将这个新表单传递给MyDll构造函数。例如:创建一个新的类库项目。添加两个文件:——MyDllClass.cs- MyForm (add new->Window Form)
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
}