A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© $love 中级黑马   /  2013-4-25 19:23  /  1640 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 $love 于 2013-4-26 13:14 编辑

我按键盘的时候怎么才能不让我按的那个值显示在光标处?
就比如现在光标停在一个文本框中,我在键盘上按了+,我不想让+显示在文本框中!
需要怎么做!
求指点!
谢谢!

7 个回复

倒序浏览
是不是.net的知识?   
回复 使用道具 举报
袁梦希 发表于 2013-4-25 19:38
是不是.net的知识?

是的!是c#中窗体的知识!
比如说现在光标停在一个文本框中,我现在的需求是这样的!
当按键盘的时候按的是0-9的数字就显示在文本框中!如果不是就不显示!
但是不管显示不显示都要触发KeyDown()事件,也就是键盘按下事件
求详细说明!最好有代码!
谢谢!
回复 使用道具 举报
$love 发表于 2013-4-25 20:29
是的!是c#中窗体的知识!
比如说现在光标停在一个文本框中,我现在的需求是这样的!
当按键盘的时候按的 ...

不懂.net的知识,还没有接触到那个语言,你可以去论坛的.net板块,肯定有志同道合的牛人:hug:
回复 使用道具 举报
袁梦希 发表于 2013-4-25 20:31
不懂.net的知识,还没有接触到那个语言,你可以去论坛的.net板块,肯定有志同道合的牛人 ...

好的!谢谢!
回复 使用道具 举报
方法一:用Handled属性,背景色不变
  1.         private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
  2.         {
  3.             if (e.KeyChar >= '0' && e.KeyChar <= '9')
  4.             {
  5.                 e.Handled = false;    // 允许输入
  6.             }
  7.             else
  8.             {
  9.                 e.Handled = true;    // 不允许输入
  10.             }
  11.         }
复制代码
//     true 表示跳过控件的默认处理;false 表示还将该事件传递给默认控件处理程序。
方法二:用ReadOnly属性:将文本框改成只读,这种背景色会有所变化
  1.         private void textBox1_KeyDown(object sender, KeyEventArgs e)
  2.         {
  3.             if (e.KeyCode >= Keys.D0 && e.KeyCode <= Keys.D9)
  4.             {
  5.                 textBox1.ReadOnly = false;
  6.             }
  7.             else
  8.             {
  9.                 textBox1.ReadOnly = true;//只读
  10.             }                  
  11.         }
复制代码
回复 使用道具 举报
$love 中级黑马 2013-4-26 13:13:48
7#
张林杰 发表于 2013-4-26 01:51
方法一:用Handled属性,背景色不变//     true 表示跳过控件的默认处理;false 表示还将该事件传递给默认 ...

谢谢!:handshake
回复 使用道具 举报
$love 发表于 2013-4-26 13:13
谢谢!

:handshake不客气~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马