gpt4 book ai didi

c# - 如何交换 NumericUpDown 控件上的箭头按钮功能?

转载 作者:行者123 更新时间:2023-12-05 02:34:02 25 4
gpt4 key购买 nike

我想交换 NumericUpDown 控件上的向上箭头和向下箭头(只是功能,不是实际的箭头)。例如,单击向上箭头时,值应减少,类似地,单击向下箭头时,值应增加。

我试图从 NumericUpDown 类继承并覆盖 UpButton()DownButton()。我认为只需交换这两种方法之间的代码就可以了。但是在将 DownButton() 代码粘贴到覆盖的 UpButton() 中时,

public class MyCustomNumericUpDown : NumericUpDown
{
public override void UpButton()
{
SetNextAcceleration();
if (base.UserEdit)
{
ParseEditText();
}

decimal num = currentValue;
try
{
num -= Increment;
if (num < minimum)
{
num = minimum;
if (Spinning)
{
StopAcceleration();
}
}
}
catch (OverflowException)
{
num = minimum;
}

Value = num;
}
}

上述程序抛出以下错误。

The name 'SetNextAcceleration' does not exist in the current context
The name 'currentValue' does not exist in the current context
The name 'minimum' does not exist in the current context
The name 'Spinning' does not exist in the current context
The name 'StopAcceleration' does not exist in the current context
The name 'minimum' does not exist in the current context

我看到所有这些方法和变量在基类中都设置为私有(private)。这可能会抛出这些“不存在”的错误。

有人知道怎么做吗?我只想交换箭头按钮的功能。例如,单击向上箭头时,值应减少,类似地,单击向下箭头时,值应增加。

最佳答案

您可以从 NumericUpDown并覆盖 UpButtonDownButton像这样的方法(通过调用 base.TheOtherMethod 来交换功能):

public class CrazyNumericUpDown : NumericUpDown
{
public override void UpButton()
{
base.DownButton();
}
public override void DownButton()
{
base.UpButton();
}
}

关于c# - 如何交换 NumericUpDown 控件上的箭头按钮功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70827662/

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