实现一个只能输入某范围内整数的文本框

实现一个只能输入某范围内整数的文本框 本代码实现了端口的输入

代码如下:

public class PortBox:System.Windows.Forms.TextBox
    {
        /// <summary>
        /// 最大端口
        /// </summary>
        public int MaxValue
        {
            get;
            set;
        }

        /// <summary>
        /// 最小端口
        /// </summary>
        public int MinValue
        {
            get;
            set;
        }

        String oldString;
        
        protected override void OnTextChanged(EventArgs e)
        {
            base.OnTextChanged(e);
            try
            {
                if(String.IsNullOrEmpty(Text))
                {
                    oldString = String.Empty;
                    return;
                }
                int port = Convert.ToInt32(Text);
                if (port > MaxValue)
                {
                    Text = MaxValue.ToString();
                    SelectAll();
                }
                if (port < MinValue)
                {
                    Text = MinValue.ToString();
                    SelectAll();
                }
                oldString = Text;
            }
            catch
            {
                int Index = SelectionStart;
                Text = oldString;
                if (Index > 0)
                {
                    SelectionStart = Index - 1;
                }
                else
                {
                    SelectionStart = 0;
                }
                
            }
        }
    }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值