[英]How do I disable a button when the value in the NumericUpDown control is greater than a certain number?
该按钮仅在我单击后禁用。 一旦NumericUpDown控件中的值增加到特定点以上,我希望它在没有任何交互的情况下禁用。 我已经护目镜但没有找到答案,这是我的代码:
private void mybtn_Click(object sender, EventArgs e)
{
if (numericud.Value > myArray[r, c] || myArray[r, c] == 0)
DisableButton(mybtn);
myArray[r, c] = CalcNewMax(myArray[r, c]);
OpenNewForm();
}
private void DisableButton(Button selectedbtn)
{
selectedbtn.Enabled = false;
}
非常感谢任何帮助,谢谢!
这里有一些适用于特定示例的代码。
我没有看到你的代码有任何具体问题,所以如果我是你,我会提出一些断点,以确保你的条件得到满足,并且一切都按照你的想法进行。
namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void numericUpDown1_ValueChanged(object sender, EventArgs e)
{
if (numericUpDown1.Value > 5)
button1.Enabled = false;
}
}
}
另外注意,当您双击设计器中的UpDown控件时,Visual Studio将自动生成numericUpDown1_ValueChanged
处理程序
我认为在单击按钮时调用方法“mybtn_Click()”,而不是在数字上下调值更改时。 在按钮属性的“事件”部分中,检查“MouseClick”事件是否设置为调用“mybtn_Click()”。
然后转到数字上下的属性的“事件”部分,并将“ValueChanged”事件设置为“mybtn_Click()”。 我还建议您在此之前将方法的名称更改为更合适的方法。
最后,您不需要为简单地更改按钮的Enabled值创建一个全新的方法:只需替换该行
DisableButton(mybtn);
同
mybtn.Enabled = false;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.