亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

只能對數值操作的TextBox

2019-11-18 12:01:34
字體:
來源:轉載
供稿:網友

  當界面上要用戶輸入只有數字的字符時,默認的Textbox是不能勝任的,網上有很多網友們提供了很多的做法,我總結了一下寫了一個在C#下的實現,做到了如下的幾點:
  1:只能輸入類似這樣的字符:-123456.789;1234.789;
  2:在輸入的字符串中不能存在兩個點符:12456.78//正確;12.456.78//不正確;
  3:假如表示負數可以在字符串的最前面加一個減號“-”,也只能加到弟一個字符的位置;
  4:可以用復制粘帖功能和菜單功能,但是只對能正確格式的字符串有效,比如:12.34可以,Abc不可以;
  5:只是得到一個字符串,還可以在這個基礎上再改進自己所需的,經如添加對十六進制的支持等。
  代碼如下在.NET下用C#寫的:
  
  using System;
  using System.Windows.Forms;
  
  namespace NumTextBox
  {
  ///
  /// NumTextBox 的摘要說明。
  ///

  public class TextBoxNumEx:System.Windows.Forms.TextBox
  {
  public const int WM_CONTEXTMENU = 0x007b;//右鍵菜單消息
  public const int WM_CHAR = 0x0102;    //輸入字符消息(鍵盤輸入的,輸入法輸入的似乎不是這個消息)
  public const int WM_CUT = 0x0300;    //程序發送此消息給一個編輯框或combobox來刪除當前選擇的文本
  public const int WM_COPY = 0x0301;    //程序發送此消息給一個編輯框或combobox來復制當前選擇的文本到剪貼板
  public const int WM_PASTE = 0x0302;   //程序發送此消息給editcontrol或combobox從剪貼板中得到數據
  public const int WM_CLEAR = 0x0303;   //程序發送此消息給editcontrol或combobox清除當前選擇的內容;
  public const int WM_UNDO = 0x0304;    //程序發送此消息給editcontrol或combobox撤消最后一次操作
  
  public TextBoxNumEx()
  {
  //
  // TODO: 在此處添加構造函數邏輯
  //
  }
  PRotected override void WndProc(ref Message m)
  {
  switch(m.Msg)
  {
  case WM_CHAR:
  System.Console.WriteLine(m.WParam);
  bool isSign = ((int)m.WParam == 45);
  bool isNum = ((int)m.WParam >= 48) && ((int)m.WParam <= 57);
  bool isBack = (int)m.WParam == (int)Keys.Back;
  bool isDelete = (int)m.WParam == (int)Keys.Delete;//實際上這是一個"."鍵
  bool isCtr = ((int)m.WParam == 24) ((int)m.WParam == 22) ((int)m.WParam == 26) ((int)m.WParam == 3);
  
  if( isNum isBack isCtr)
  {
  base.WndProc (ref m);
  }
  if (isSign)
  {
  if (this.SelectionStart!=0)
  {
  break;
  }
  base.WndProc (ref m);
  break;
  }
  if (isDelete)
  {
  if (this.Text.IndexOf(".")<0)
  {
  base.WndProc (ref m);
  }
  }
  if ((int)m.WParam == 1)
  {
  this.SelectAll();
  }
  break;
  case WM_PASTE:
  IDataObject iData = Clipboard.GetDataObject();//取剪貼板對象
  
  if(iData.GetDataPresent(DataFormats.Text)) //判定是否是Text
  {
  string str = (string)iData.GetData(DataFormats.Text);//取數據
  if (MatchNumber(str))
  {
  base.WndProc (ref m);
  break;
  }
  }
  m.Result = (IntPtr)0;//不可以粘貼
  break;
  default:
  base.WndProc (ref m);
  break;
  }
  }
  private bool MatchNumber(string ClipboardText)
  {
  int index=0;
  string strNum = "-0.123456789";
  
  index = ClipboardText.IndexOf(strNum[0]);
  if (index>=0)
  {
  if (index>0)
  {
  return false;
  }
  index = this.SelectionStart;
  if (index>0)
  {
  return false;
  }
  }
  
  index = ClipboardText.IndexOf(strNum[2]);
  if (index!=-1)
  {
  index = this.Text.IndexOf(strNum[2]);
  if (index!=-1)
  {
  return false;
  }
  }
  
  for(int i=0; i  {
  index = strNum.IndexOf(ClipboardText[i]);
  if (index <0)
  {
  return false;
  }
  }
  return true;
  }
  }
  }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久精品国产2020观看福利| 欧美wwwxxxx| 久久99精品国产99久久6尤物| 国产精品视频1区| 亚洲精品v天堂中文字幕| 欧洲亚洲在线视频| 欧美视频在线观看免费网址| 久久97久久97精品免视看| 国产精品人人做人人爽| 亚洲一区二区免费在线| 亚洲一区二区三区在线免费观看| 91大神福利视频在线| 久久影院免费观看| 亚洲欧洲一区二区三区久久| 最近中文字幕2019免费| 精品国内自产拍在线观看| 欧美激情精品久久久久久| 91理论片午午论夜理片久久| 久久久久在线观看| 中文字幕欧美专区| 久国内精品在线| 国产成人精品最新| 亚洲精品成人免费| 成人h猎奇视频网站| 国产精品久久久久久久9999| 成人免费在线网址| 俺也去精品视频在线观看| 久久久久久久久久久久av| 日韩成人高清在线| 欧美激情欧美激情| 国产精品视频一区二区高潮| 国产精品视频最多的网站| 性欧美办公室18xxxxhd| 久色乳综合思思在线视频| 91高潮精品免费porn| 亚洲欧美中文日韩在线v日本| 日韩免费高清在线观看| 亚洲国产成人在线播放| 欧美在线日韩在线| 日本一区二区在线免费播放| 成人黄色在线播放| 国产日韩欧美自拍| 全亚洲最色的网站在线观看| 97超碰国产精品女人人人爽| 亚洲欧美日本另类| 国产精品av电影| 欧美寡妇偷汉性猛交| 中文字幕日韩专区| 欧美色道久久88综合亚洲精品| 国产日韩中文在线| 成人美女免费网站视频| 欧美激情手机在线视频| 欧美裸体男粗大视频在线观看| 欧美成人免费视频| 日韩av在线精品| 久久久综合av| 欧美另类69精品久久久久9999| 国产在线视频91| 国产精品视频最多的网站| 国模视频一区二区三区| 久久久久久久久久久国产| 亚洲尤物视频网| 26uuu久久噜噜噜噜| 久久久久久香蕉网| 在线播放精品一区二区三区| 91色视频在线导航| 亚洲精品成人网| 日本午夜精品理论片a级appf发布| 日韩欧美国产成人| 国产精品视频免费在线| 97视频人免费观看| 久久高清视频免费| 久久夜色精品国产| 色婷婷综合久久久久| 欧美高清videos高潮hd| 欧美洲成人男女午夜视频| 亚洲另类图片色| 欧洲中文字幕国产精品| 青草成人免费视频| 91精品中文在线| 精品久久久久久中文字幕大豆网| 91精品视频一区| 久久精品国产欧美亚洲人人爽| 国产精品一二三视频| 久久九九有精品国产23| 成人网在线免费看| 日韩**中文字幕毛片| 国产+成+人+亚洲欧洲| 美日韩丰满少妇在线观看| 狠狠爱在线视频一区| 国产精品av电影| 九九九久久国产免费| 影音先锋日韩有码| 欧美成人精品影院| 欧美电影在线观看完整版| 亚洲精品乱码久久久久久按摩观| 中文字幕精品视频| 国自在线精品视频| 日韩一区二区在线视频| 91精品综合视频| 国产一区二区三区直播精品电影| 久久久www成人免费精品| 欧美亚洲成人免费| 国产69精品久久久久9| 日韩av最新在线| 性色av一区二区三区红粉影视| 久久精品国产v日韩v亚洲| 欧美成人精品在线| 91九色单男在线观看| 91丝袜美腿美女视频网站| 日韩av免费在线观看| 亚洲国产精品久久久久秋霞不卡| 亚洲精品丝袜日韩| 日韩欧美在线视频日韩欧美在线视频| 亚洲欧美一区二区激情| 亚洲美女又黄又爽在线观看| www.久久久久久.com| 国产精品久久久久福利| 欧美一级视频一区二区| 欧美丰满老妇厨房牲生活| 97在线观看免费高清| 欧美激情亚洲一区| 亚洲欧美变态国产另类| 欧美劲爆第一页| 狠狠综合久久av一区二区小说| 庆余年2免费日韩剧观看大牛| 久久久久亚洲精品| 日韩中文字幕国产精品| 亚洲高清一二三区| 国产69久久精品成人看| 亚洲国产成人久久| 最近2019中文免费高清视频观看www99| 久久人人爽国产| 精品久久久久久久久久久久久久| 国产自摸综合网| 欧美视频在线免费看| 这里只有精品视频| 亚洲欧美一区二区三区久久| 美女国内精品自产拍在线播放| 日韩av一区二区在线观看| 亚洲欧美三级在线| 日韩精品在线免费| 91久久久精品| 中文日韩在线视频| 久热精品视频在线| 91久久久久久久久| 久久久久久久久久亚洲| 精品成人国产在线观看男人呻吟| 久久免费福利视频| 亚洲第一色中文字幕| 日韩av在线影院| 亚洲va男人天堂| 欧美一级电影在线| 日韩在线视频观看正片免费网站| 日韩欧美在线播放| 国产一区二区三区毛片| 中文在线不卡视频| 日韩国产高清视频在线| 国产精品专区h在线观看| 亚洲字幕在线观看| 精品久久久久久久久久ntr影视| 久久国产精品免费视频| 全球成人中文在线| 欧美精品在线播放|