我在Visual Studio中为我的表单打开设计器时遇到问题
方法' dragScreen_MouseDown'不能是事件的方法,因为这个类派生的类已经定义了方法。
我改变的只是添加一个名为FormBase
的新类,并将该类的方法转换为其他形式。工作正常,但设计师似乎并不喜欢它。
所以在FormBase.cs
我得到了这个方法:
protected void dragScreen_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
ReleaseCapture();
SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0);
}
}
然后在Main.cs
继承FormBase形式。
在设计师中它是这样的:
this.button6.MouseDown += new System.Windows.Forms.MouseEventHandler(this.dragScreen_MouseDown);
答案 0 :(得分:0)
我认为您的问题是您从类MainForm
派生了部分类BaseForm
,它来自类System.Windows.Forms.Form
。这意味着设计者生成的代码我是从类System.Windows.Forms.Form
派生的,但是您的部分类是BaseForm
。您需要将设计师代码从public partial class MainForm : Form
更改为public partial class MainForm : BaseForm
。
我是对的吗?
答案 1 :(得分:0)
我能够解决问题。由于我在Main.Designer.cs中有dragScreen导致第一次冲突,它不喜欢在类外寻找方法。所以我不得不删除这些行并添加Main.cs构造函数:
panel4.MouseDown += dragScreen_MouseDown;