C#numericupdown焦点不起作用(WinForms)

时间:2018-03-08 20:49:22

标签: c#

我在NUMERICUPDOWN控件上设置FOCUS事件时遇到问题..

我的程序最初使用以下代码将numericupdown.enabled属性设置为false:

for (int i = 1; i < 10; i++)
{
    NumericUpDown nud = (NumericUpDown)FindForm().Controls.Find("talla_n" + i, true)[0];
    nud.Enabled = false;
}

稍后执行某些操作后,它会再次将该属性设置为true。

for (int i = 1; i < 10; i++)
{
    NumericUpDown nud = (NumericUpDown)FindForm().Controls.Find("talla_n" + i, true)[0];
    nud.Enabled = true;
}

之后,我使用焦点功能:

NumericUpDown nud = (NumericUpDown)FindForm().Controls.Find("talla_n1", true)[0];
bool focused = nud.Focus();

但是在FOCUS函数之后它总是返回FALSE。

Console.WriteLine(focused); // always returns false

我已经将TabStop = true和Enabled = true,所以我不知道这个问题是什么..

这是我的Designer代码

// 
// talla_n1
// 
this.talla_n1.Location = new System.Drawing.Point(73, 64);
this.talla_n1.Name = "talla_n1";
this.talla_n1.Size = new System.Drawing.Size(41, 22);
this.talla_n1.TabIndex = 18;
this.talla_n1.Tag = "talla_n1";
this.talla_n1.TabStop = true;
this.talla_n1.Enabled = true;
this.talla_n1.ValueChanged += new System.EventHandler(this.textChanged_Numeracion_EventHandler);
this.talla_n1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.talla_n1_KeyDown);

0 个答案:

没有答案