📄 numberselector.cs
字号:
using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.OleDb;
using System.Text;
using System.Web;
using System.Web.SessionState;
using System.Web.UI.WebControls;
using System.Web.UI;
using System.IO;
using System.Text.RegularExpressions;
namespace X2Design.UI
{
/// <summary>
/// 数字选择器。常用于在变动范围不大的范围内选择一个整数。
/// 注:未继承于Control。
/// </summary>
public class NumberSelector:Control
{
/// <summary>
/// 用于显示减小按钮。
/// </summary>
private Literal lMinusButton=new Literal();
/// <summary>
/// 用于显示加大按钮。
/// </summary>
private Literal lPlusButton=new Literal();
/// <summary>
/// 显示数字框。
/// </summary>
private TextBox tbNumber=new TextBox();
/// <summary>
/// 存储范围的下限,默认值为1。
/// </summary>
private int _minValue=1;
/// <summary>
/// 存储范围的上限,默认值为1000。
/// </summary>
private int _maxValue=10000;
/// <summary>
/// 获取或设置选择范围的下限。
/// </summary>
public int minValue
{
get
{
return _minValue;
}
set
{
_minValue=value;
BindPara();
}
}
/// <summary>
/// 获取或设置选择范围的上限。
/// </summary>
public int maxValue
{
get
{
return _maxValue;
}
set
{
_maxValue=value;
BindPara();
}
}
/// <summary>
/// 获取或设置当前值。
/// </summary>
public int Value
{
get
{
if(tbNumber.Page!=null)
if(tbNumber.Page.Request.Form[tbNumber.ID.ToString()]!=null)
return int.Parse(tbNumber.Page.Request.Form[tbNumber.ID.ToString()].ToString().Trim());
return int.Parse(tbNumber.Text.ToString());
}
set
{
tbNumber.Text=value.ToString();
}
}
/// <summary>
/// 构造函数。
/// </summary>
public NumberSelector()
{
tbNumber.ReadOnly=true;
tbNumber.Attributes.Add("style","width:25px;text-align:right;");
BindPara();
Controls.Add(lMinusButton);
Controls.Add(tbNumber);
Controls.Add(lPlusButton);
}
/// <summary>
/// 生成客户端代码以及显示逻辑。
/// </summary>
private void BindPara()
{
tbNumber.Text=_minValue.ToString();
tbNumber.ID="NumberSelector";
lMinusButton.Text="<input onfocus='this.blur()' style='width:15px' value='-' type='button' onmouseup='if("+tbNumber.ID.ToString()+".value=="+_minValue.ToString()+")return;"+tbNumber.ID.ToString()+".value--'>";
lPlusButton.Text="<input onfocus='this.blur()' style='width:15px' value='+' type='button' onmouseup='if("+tbNumber.ID.ToString()+".value=="+_maxValue.ToString()+")return;"+tbNumber.ID.ToString()+".value++'>";
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -