gpt4 book ai didi

c# - 禁用 Windows 窗体关闭按钮

转载 作者:太空宇宙 更新时间:2023-11-03 21:53:43 26 4
gpt4 key购买 nike

在对这个主题进行数小时的谷歌搜索后,我发现了以下代码片段,它实际上只禁用了表单的关闭按钮。

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': no suitable method found to override

我的问题是如何使这个代码段可重用?

最佳答案

创建一个继承自 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
}

关于c# - 禁用 Windows 窗体关闭按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13247629/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com