我的要求:
当有人按下TAB按钮并移动到我的表单中的NumericUpDown控件时,要选择的整个文本,我搜索了很多,我发现了这个:
private void numericUpDown1_Enter(object sender, EventArgs e)
{
numericUpDown1.Select(0, numericUpDown1.ToString().Length);
}
我需要一些能够完成所有这些工作的代码,因为我的表单有大约50个NumericUpDown控件 我试过这样的事情:
private void System.Windows.Forms.NumericUpDown_Enter(object sender, EventArgs e)
{
System.Windows.Forms.NumericUpDown.Select(0, 2);
}
但出现了两个错误:
Error 2 An object reference is required for the non-static field, method, or property 'System.Windows.Forms.UpDownBase.Select(int, int)' P:\myWork\C#\sudoku\sudoku\Form1.cs 42 13 sudoku
Error 1 The modifier 'public' is not valid for this item P:\myWork\C#\sudoku\sudoku\Form1.cs 40 21 sudoku
答案 0 :(得分:0)
您需要通过NumericUpDown
参数访问传递给事件的sender
控件的实例。试试这个:(未经测试)
(另外,从事件名称的开头删除System.Windows.Forms
。)
private void NumericUpDown_Enter(object sender, EventArgs e)
{
var numUpDownControl = sender as System.Windows.Forms.NumericUpDown;
if (numUpDownControl != null)
numUpDownControl.Select(0, 2);
}
如果要在控件中选择整个值(而不仅仅是前两个数字),请相应地更改Select
语句:
numUpDownControl.Select(0, numUpDownControl.Value.ToString().Length);