gpt4 book ai didi

c# - 自定义控件覆盖命令按钮

转载 作者:行者123 更新时间:2023-11-30 18:09:06 26 4
gpt4 key购买 nike

我正在尝试创建一个自定义命令按钮,将宽度和高度默认为特定设置。我有以下代码:

public partial class myCommandButton : Button
{
public magCommandButton()
{
InitializeComponent();

}

[DefaultValue(840)]
public override int Width
{
get
{
return base.Width;
}
set
{
base.Width = value;
}
}

[DefaultValue(340)]
public override int Height
{
get
{
return base.Height;
}
set
{
base.Height = value;
}
}

protected override void OnPaint(PaintEventArgs pe)
{
base.OnPaint(pe);
}
}

但是,它不会编译,因为它告诉我不能覆盖宽度或高度。任何人都可以告诉我我是否错误地处理了这个问题,或者是否有办法解决这个问题?

最佳答案

Width 和 Height 不是虚拟成员(检查 Reflector 中的 Control 类),因此最简单的方法是覆盖 DefaultSize 属性:

        protected override Size DefaultSize
{
get
{
return new Size(840, 340);
}
}

您还可以使用 new modifier ,但对于此示例,我建议覆盖 DefaultSize。如果您检查 Reflector 中的 Control 类,您会发现 Height 和 Width 使用了很多内部/私有(private)成员。所以我不认为实现所有这些事情是个好主意。只需使用 DefaultSize 属性。

关于c# - 自定义控件覆盖命令按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2708243/

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