C#中设置textbox限制条件的方法

本文实例讲述了C#中设置textbox限制条件的方法,分享给大家供大家参考。具体实现方法如下:

代码如下:

#region 设置数量等textbox控件样式及限制条件(具体调用的方法就是重写或直接调用ShieldNumberTextBoxOtherKeys函数)

/// <summary>
/// 屏蔽数字textbox的其他字符串
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public virtual void tBoxNumbers_KeyDown(object sender, KeyEventArgs e)
{
    e.SuppressKeyPress = true;

switch (e.KeyCode)
    {
 case Keys.D0:
 case Keys.D1:
 case Keys.D2:
 case Keys.D3:
 case Keys.D4:
 case Keys.D5:
 case Keys.D6:
 case Keys.D7:
 case Keys.D8:
 case Keys.D9:
 case Keys.NumPad0:
 case Keys.NumPad1:
 case Keys.NumPad2:
 case Keys.NumPad3:
 case Keys.NumPad4:
 case Keys.NumPad5:
 case Keys.NumPad6:
 case Keys.NumPad7:
 case Keys.NumPad8:
 case Keys.NumPad9:
 case Keys.Back:
 case Keys.OemPeriod:
 case Keys.Delete:
 case Keys.Decimal:
     e.SuppressKeyPress = false;
     break;
 default:
     break;
    }
}

public virtual void tBoxNumbers_KeyPress(object sender, KeyPressEventArgs e)
{
    TextBox tBox = sender as TextBox;
    char c = e.KeyChar;

if (c.ToString().Equals("."))
    {
 if (tBox.Text.Length <= 0)
     e.Handled = true;           //小数点不能在第一位    
 else
 {
     float f;
     float oldf;
     bool b1 = false, b2 = false;
     b1 = float.TryParse(tBox.Text, out oldf);
     b2 = float.TryParse(tBox.Text + e.KeyChar.ToString(), out f);
     if (b2 == false)
     {
  if (b1 == true)
      e.Handled = true;
  else
      e.Handled = false;
     }
 }
    }
}

/// <summary>
/// 屏蔽数字textbox的其他字符串
/// </summary>
/// <param name="tbox">要屏蔽的textbox</param>
public virtual void ShieldNumberTextBoxOtherKeys(TextBox tbox)
{
    tbox.ImeMode = ImeMode.Disable;
    tbox.KeyDown += tBoxNumbers_KeyDown;
    tbox.KeyPress += tBoxNumbers_KeyPress;
}

#endregion

希望本文所述对大家的C#程序设计有所帮助。

(0)

相关推荐

  • C#与js实现去除textbox文本框里面重复记录的方法

    本文以实例形式展示了C#与js实现去除textbox文本框里面重复记录的方法!具体方法如下: 现有如下问题:页面有一个textbox文本框(是多行的),比如我在文本框里面输入:111,222,333,555当再输入111的时候会自动清除掉这个111,或者是在提交一个按钮前清除掉这个相同记录! 解决方案如下: 以逗号分割成一个数组 有一个Split()方法 然后比较 里面相等的就删除掉后面的那个 形成新的实例 再把新实例按格式输进来~ C#代码如下: string temp_str = "111,

  • C#实现用户自定义控件中嵌入自己的图标

    本文实例讲述了C#实现用户自定义控件中嵌入自己的图标.分享给大家供大家参考,具体如下: 下面给出一下具体的步骤. 1. 新建一个用户控件 2. 向资源文件是添加一张图片,图片格式可以是bm,ico 大小最好是 16 * 16 啦! 3. 选中用户控件图标,单击"右键>属性"把 "生成操作 的属性值改为:嵌入的资源(Action Resource) 4. 第四步: [ToolboxBitmap(typeof(CutPitureNew_WPF), "CutPitu

  • C# TextBox控件实现只能输入数字的方法

    只需要在控件TextBox的keypress事件中写入如下代码即可满足要求: 代码如下: 复制代码 代码如下: if (e.KeyChar == '.' && this.txbEnd.Text.IndexOf(".") != -1)             {                 e.Handled = true;             } if (!((e.KeyChar >= 48 && e.KeyChar <= 57) |

  • C#实现绑定DataGridView与TextBox之间关联的方法

    本文实例讲述了C#实现绑定DataGridView与TextBox之间关联的方法.分享给大家供大家参考.具体实现方法如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace System.Window

  • C#自定义控件实现TextBox禁止粘贴的方法

    本文实例讲述了C#自定义控件实现TextBox禁止粘贴的方法.分享给大家供大家参考,具体如下: 开发环境:Visual Studio .net 2005 + Windows XP sp2 professional 新建->项目->Windows控件库: 新建一个类,继承自TextBox类,具体源代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawi

  • C#禁止textbox复制、粘贴、剪切及鼠标右键的方法

    本文实例讲述了C#禁止textbox复制.粘贴.剪切及鼠标右键的方法.分享给大家供大家参考.具体如下: class MyTextBox : System.Windows.Forms.TextBox { protected override void WndProc(ref System.Windows.Forms.Message m) { if (m.Msg != 0x007B && m.Msg != 0x0301 && m.Msg != 0x0302) { base.Wn

  • C#递归遍历窗体所有textbox控件并设置textbox事件的方法

    本文实例讲述了C#递归遍历窗体所有textbox控件并设置textbox事件的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: /// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public virtual void SetTextBo

  • 解析C#自定义控件的制作与使用实例的详解

    上篇:控件制作本例是制作一个简单的自定义控件,然后用一个简单的测试程序,对于初学者来说,本例子比较简单,只能起到抛石引玉的效果.我也是在学习当中,今后会将自己所学的逐步写出来和大家交流共享.第一步:新建一个控件库项目:myControl 第二步:从工具箱里面拖动1个PictureBox.1个Button.6个Lable控件到用户界面上,布局如下: 如上图,设置pictureBox的Name为picBox,背景为白色,Button的Name为btnOpen,另外靠左的三个Lable的Text属性分

  • C# TextBox 扩展方法数据验证详细说明

    查看公司项目代码时,存在这样一个问题:winform界面上有很多信息填写,提交后台服务器更新,但数据的合法验证及值的转换却不太敢恭维,一堆的if判断和转换,便想着是否能扩展个方法出来,琢磨出个思路,记录下来与大家共同探讨,有不对的地方还请大家指正. 设计思路: 1. 由于大部分从TextBox控件中获取数据值,可以扩展个泛型方法出来,直接根据转换后的数据类型获得值,类似这样, var value = this.txtSample.GetValue<int>(); 2. 可以传入一个委托用来处理

  • C#自定义控件VS用户控件

    C#中自定义控件VS用户控件大比拼 1 自定义控件与用户控件区别 WinForm中, 用户控件(User Control):继承自 UserControl,主要用于开发 Container 控件,Container控件可以添加其他Controls控件 自定义控件(Custom Control):继承自 Control,主要用于开发windows控件的最基本的类,比如 Text,Button 控件 2 要开发自己的控件的几种方法[1] 复合控件(Composite Controls):将现有的各种

  • C#中TextBox实现输入提示功能的方法

    本文实例讲述了C#中TextBox实现输入提示功能的方法.分享给大家供大家参考.具体如下: 设置TextBox的AutoCompleteSource的属性为CustomSource,设置TextBox的AutoCompleteMode属性为SuggestAppend. using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawin

  • C#自定义控件添加右键菜单的方法

    C#自定义控件添加右键菜单非常简单,主要用到控件,像control定义右键菜单,用items.add()叠加右键菜单内容,用click事件处理函数. 1.control是要定义右键菜单的控件. private void control_MouseDown(object sender, MouseEventArgs e) {    if (e.Button == MouseButtons.Right)    {        ContextMenu menu = new rightClickMen

随机推荐