100 lines
2.6 KiB
C#
100 lines
2.6 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.ComponentModel;
|
||
using System.Drawing;
|
||
using System.Data;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using System.Windows.Forms;
|
||
|
||
namespace AIMS.OremrUserControl
|
||
{
|
||
public partial class NumTextBox : TextBox
|
||
{
|
||
/// <summary>
|
||
/// 必需的设计器变量。
|
||
/// </summary>
|
||
private System.ComponentModel.IContainer components = null;
|
||
|
||
/// <summary>
|
||
/// 清理所有正在使用的资源。
|
||
/// </summary>
|
||
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
|
||
protected override void Dispose(bool disposing)
|
||
{
|
||
if (disposing && (components != null))
|
||
{
|
||
components.Dispose();
|
||
}
|
||
base.Dispose(disposing);
|
||
}
|
||
|
||
#region 组件设计器生成的代码
|
||
|
||
/// <summary>
|
||
/// 设计器支持所需的方法 - 不要
|
||
/// 使用代码编辑器修改此方法的内容。
|
||
/// </summary>
|
||
private void InitializeComponent()
|
||
{
|
||
this.SuspendLayout();
|
||
//
|
||
// NumTextBox
|
||
//
|
||
this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.NumTextBox_KeyPress);
|
||
this.ResumeLayout(false);
|
||
|
||
}
|
||
|
||
#endregion
|
||
|
||
public NumTextBox()
|
||
{
|
||
InitializeComponent();
|
||
}
|
||
private void NumTextBox_KeyPress(object sender, KeyPressEventArgs e)
|
||
{
|
||
TextBox tb = sender as TextBox;
|
||
int n = tb.Text.LastIndexOf(".");
|
||
int j = tb.Text.LastIndexOf("-");
|
||
if (e.KeyChar < 48 || e.KeyChar > 57)
|
||
{
|
||
if (e.KeyChar != 46 && e.KeyChar != 8 && e.KeyChar != 13)
|
||
{
|
||
e.Handled = true;
|
||
}
|
||
if (e.KeyChar == 45 && j != -1)
|
||
{
|
||
e.Handled = true;
|
||
}
|
||
}
|
||
if (e.KeyChar == 46 && n >= 0)
|
||
{
|
||
e.Handled = true;
|
||
}
|
||
//if (e.KeyChar == 13)
|
||
//{
|
||
// SendKeys.Send("{tab}");
|
||
//}
|
||
if (e.KeyChar == 8)
|
||
{
|
||
return;
|
||
}
|
||
|
||
|
||
if (n < 0 && tb.Text.Length > 5)
|
||
{
|
||
e.Handled = true;
|
||
}
|
||
if (tb.Text.Length > 7)
|
||
{
|
||
e.Handled = true;
|
||
}
|
||
if (n > 0 && n < tb.Text.Length - 2)
|
||
{
|
||
e.Handled = true;
|
||
}
|
||
}
|
||
}
|
||
}
|