更新时间:2022-09-14 14:30:37
大家好,小勉来为大家解答以上的问题。控件这个很多人还不知道,现在让我们一起来看看吧!
1、你是相将DomainUpDown模拟为NumericUpDown吗。
2、请见下面的代码 [STAThread] public static void Main(string[] args) { var upDown = new DomainUpDown(); SetDomainUpdownValue(upDown); upDown.TextChanged += UpDownOnTextChanged; // 加入到一个窗口中进行测试 var form = new Form(); upDown.Dock = DockStyle.Fill; form.Controls.Add(upDown); form.ShowDialog(); } static void SetDomainUpdownValue(DomainUpDown upDown, int value = 0) { upDown.Items.Clear(); upDown.Items.Add(value + 1); upDown.Items.Add(value); upDown.Items.Add(value - 1); upDown.SelectedItem = value; } private static void UpDownOnTextChanged(object sender, EventArgs eventArgs) { var upDown = sender as DomainUpDown; if( upDown == null ) return; var matchResults = Regex.Match(upDown.Text, @"-?d+"); if (!matchResults.Success) SetDomainUpdownValue(upDown); else { var number = int.Parse(matchResults.Value); SetDomainUpdownValue(upDown, number); } }既然你需要的是数字,干嘛不用NumericUpDown?。
本文到此分享完毕,希望对大家有所帮助。