如何交换 NumericUpDown 控件上的箭头按钮功能?
How to swap arrow buttons functionality on NumericUpDown control?
我想交换 NumericUpDown 控件上的向上和向下箭头(仅功能,而不是实际的箭头)。例如,单击向上箭头时,值应减少,类似地,单击向下箭头时,值应增加。
我试图继承 NumericUpDown class 并覆盖 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
我看到所有这些方法和变量在基础 class 中都设置为私有。这可能会抛出这些“不存在”的错误。
有人知道怎么做吗?
我只想交换箭头按钮的功能。例如,单击向上箭头时,值应减少,类似地,单击向下箭头时,值应增加。
您可以像这样从 NumericUpDown
and override UpButton
and DownButton
方法派生(通过调用 base.TheOtherMethod 来交换功能):
public class CrazyNumericUpDown : NumericUpDown
{
public override void UpButton()
{
base.DownButton();
}
public override void DownButton()
{
base.UpButton();
}
}
我想交换 NumericUpDown 控件上的向上和向下箭头(仅功能,而不是实际的箭头)。例如,单击向上箭头时,值应减少,类似地,单击向下箭头时,值应增加。
我试图继承 NumericUpDown class 并覆盖 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
我看到所有这些方法和变量在基础 class 中都设置为私有。这可能会抛出这些“不存在”的错误。
有人知道怎么做吗? 我只想交换箭头按钮的功能。例如,单击向上箭头时,值应减少,类似地,单击向下箭头时,值应增加。
您可以像这样从 NumericUpDown
and override UpButton
and DownButton
方法派生(通过调用 base.TheOtherMethod 来交换功能):
public class CrazyNumericUpDown : NumericUpDown
{
public override void UpButton()
{
base.DownButton();
}
public override void DownButton()
{
base.UpButton();
}
}