经过数小时的Google搜索,找到了以下代码片段,它实际上只会禁用表单的关闭按钮。
private const int CP_NOCLOSE_BUTTON = 0x200;
protected override CreateParams CreateParams
{
get
{
CreateParams myCp = base.CreateParams;
myCp.ClassStyle = myCp.ClassStyle | CP_NOCLOSE_BUTTON;
return myCp;
}
}
现在我不是仅仅在每种形式中编写相同的片段,而是试图找到一种方法将其打包成可能是类的静态方法,这样我就可以从任何地方只用一行来对它进行分类。
但我遇到了一个问题,因为这个片段也是一个被覆盖的方法,因此我不知道如何将它放到另一个静态方法中。
我尝试了以下
using System;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public class Common
{
private const int CP_NOCLOSE_BUTTON = 0x200;
protected override CreateParams CreateParams
{
get
{
CreateParams myCp = base.CreateParams;
myCp.ClassStyle = myCp.ClassStyle | CP_NOCLOSE_BUTTON;
return myCp;
}
}
}
}
但它抛出了这个错误:' WindowsFormsApplication1.Common.CreateParams':找不到合适的方法来覆盖
我的问题是如何才能使此代码段重复使用?
答案 0 :(得分:4)
创建一个继承自Form
类的基类,然后使所有表单从该类继承。
public class BaseForm : Form
{
private const int CP_NOCLOSE_BUTTON = 0x200;
protected override CreateParams CreateParams
{
get
{
CreateParams myCp = base.CreateParams;
myCp.ClassStyle = myCp.ClassStyle | CP_NOCLOSE_BUTTON;
return myCp;
}
}
}
public partial class Form1 : BaseForm
{
//your form code
}
答案 1 :(得分:0)
在C#windows窗体中启用/禁用/隐藏关闭按钮
您可以查看this