一.修正说明
主要是针对0在控件中的输入情况做出了调整.在selectionstart = 0的时候,如果text.length ! =0,那么将限制对0的输入.同样,对于类似0.19,中光标位于0后边的情况,同样不允许输入0.
二.源代码
using
System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
namespace JcsExpLibary.Numeric_Textbox
... {
public partial class JcsInputNum : TextBox
...{
private bool _isreadonly = true ; //是否允许回车代替TAB
private bool _isintegral = false ;//是否整数输入
private bool _EnPaste = true ;//是否允许粘贴
private bool _EnContextMenu = true ; //是否允许现实右键菜单
private int _PointNumber = -1 ;//为-1时允许输入任意位小数
private bool _isnegativenumber = false; //是否允许输入负数
public delegate void InputNumberTextBoxEvent();
public event InputNumberTextBoxEvent PasteEvent;
public JcsInputNum()
...{
InitializeComponent();
}
/**//// <summary>
/// 是否只读
/// </summary>
[Category("JCS属性"),Description("是否只读。")]
public bool Isreadonly
...{
get ...{ return this._isreadonly; }
set ...{ this._isreadonly = value; }
}
/**//// <summary>
/// 是否是整数
/// </summary>
[Category("JCS属性"), Description("是否整数。")]
public bool isintegral
...{
get ...{ return this._isintegral; }
set ...{ _isintegral = value; }
}
/**//// <summary>
/// 是否允许输入负数
/// </summary>
[Category("JCS属性"), Description("是否允许输入负数。")]
public bool IsNegativeNumber
...{
get ...{ return _isnegativenumber; }
set ...{ _isnegativenumber = value; }
}
/**//// <summary>
/// 精度位数控制(即:允许输入几位小数控制)
/// </summary>
[Category("JCS属性"), Description("精度位数控制,-1时允许输入任意位小数。")]
public int PointNumber
...{
get ...{ return _PointNumber; }
set ...{ this._PointNumber = value; }
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
namespace JcsExpLibary.Numeric_Textbox
... {
public partial class JcsInputNum : TextBox
...{
private bool _isreadonly = true ; //是否允许回车代替TAB
private bool _isintegral = false ;//是否整数输入
private bool _EnPaste = true ;//是否允许粘贴
private bool _EnContextMenu = true ; //是否允许现实右键菜单
private int _PointNumber = -1 ;//为-1时允许输入任意位小数
private bool _isnegativenumber = false; //是否允许输入负数
public delegate void InputNumberTextBoxEvent();
public event InputNumberTextBoxEvent PasteEvent;
public JcsInputNum()
...{
InitializeComponent();
}
/**//// <summary>
/// 是否只读
/// </summary>
[Category("JCS属性"),Description("是否只读。")]
public bool Isreadonly
...{
get ...{ return this._isreadonly; }
set ...{ this._isreadonly = value; }
}
/**//// <summary>
/// 是否是整数
/// </summary>
[Category("JCS属性"), Description("是否整数。")]
public bool isintegral
...{
get ...{ return this._isintegral; }
set ...{ _isintegral = value; }
}
/**//// <summary>
/// 是否允许输入负数
/// </summary>
[Category("JCS属性"), Description("是否允许输入负数。")]
public bool IsNegativeNumber
...{
get ...{ return _isnegativenumber; }
set ...{ _isnegativenumber = value; }
}
/**//// <summary>
/// 精度位数控制(即:允许输入几位小数控制)
/// </summary>
[Category("JCS属性"), Description("精度位数控制,-1时允许输入任意位小数。")]
public int PointNumber
...{
get ...{ return _PointNumber; }
set ...{ this._PointNumber = value; }
}