怎么才能做一个类似打中文的时候那个键盘按钮?

agu 2003-07-24 11:33:26
怎么才能做一个类似打中文的时候那个键盘按钮?

请问各位高手我怎样才能将按钮和键盘上的数字键联系起来,比如一个窗体上有10个按钮其text分别为0到9,现在我想实现这样的功能:当按下0按钮时就相当于按下键盘上的0键,当按下1按钮时就相当于按下键盘上的1键......也就是怎么将按钮和键盘绑定在一起!就跟打中文的时候那个键盘按钮一样了(给代码者或提供恰当的该问题的资料者给高分!)
分不够大家可以从这个帖子回答问题!
http://expert.csdn.net/Expert/topic/2003/2003748.xml?temp=.9283411
...全文
18 10 打赏 收藏 举报
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
AhBian 2003-07-28
  • 打赏
  • 举报
回复
agu99(阿志),事情过去了,就别放在心上了。
祝你学习工作顺利。
agu 2003-07-25
  • 打赏
  • 举报
回复
snof(雪狼)
对不起,等会结分的时候你最高!
!-_-
雪狼1234567 2003-07-24
  • 打赏
  • 举报
回复
让所有TextBox共享这一事件,是keypress事件,只能输入数字,回车,删除等其实字符都不能输入
if ( !(((e.KeyChar >= (char)48) && (e.KeyChar <= (char)57)) || (e.KeyChar == (char)13) || (e.KeyChar == (char)46) || (e.KeyChar == (char)45) || (e.KeyChar == (char)8)))
{
e.Handled = true;
}else

switch(e.KeyChar.toString)
{
case "0": TextBox1.Text = "0"; break;
case "1": ; break;
case "2": ; break;
case "3": ;break;
case "4": ; break;
case "5": ; break;
case "6":; break;
case "7": ; break;
case "8": ; break;
case "9": break;
case "10":; break;
case "11":;break;
//default:
}

xiaolang800 2003-07-24
  • 打赏
  • 举报
回复
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

namespace key
{
/// <summary>
/// Form1 的摘要说明。
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.Button button1;
private System.Windows.Forms.TextBox textBox1;
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null;

public Form1()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();

//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
}

/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}

#region Windows Form Designer generated code
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.button1 = new System.Windows.Forms.Button();
this.textBox1 = new System.Windows.Forms.TextBox();
this.SuspendLayout();
//
// button1
//
this.button1.Location = new System.Drawing.Point(80, 40);
this.button1.Name = "button1";
this.button1.TabIndex = 0;
this.button1.Text = "1";
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(48, 96);
this.textBox1.Name = "textBox1";
this.textBox1.TabIndex = 1;
this.textBox1.Text = "";
this.textBox1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.textBox1_KeyDown);
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
this.ClientSize = new System.Drawing.Size(292, 273);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.textBox1,
this.button1});
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false);

}
#endregion

/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
}

private void button1_Click(object sender, System.EventArgs e)
{
textBox1.Focus();
textBox1_KeyDown(new object(),new KeyEventArgs(System.Windows.Forms.Keys.D1));
}

private void textBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if (e.KeyCode==System.Windows.Forms.Keys.D1)
{
textBox1.Text+="1";
}
}
}
}
jinye 2003-07-24
  • 打赏
  • 举报
回复
Form1_KeyDown事件
维她奶 2003-07-24
  • 打赏
  • 举报
回复
楼主是想模拟键盘输入吗?可以用System.Windows.Froms.SendKeys的SendKeys()啊
ghostboy1020 2003-07-24
  • 打赏
  • 举报
回复
旁观
AhBian 2003-07-24
  • 打赏
  • 举报
回复
TO agu99(阿志) :
你这么说话,真的不大妥当。
无论怎么样, snof(雪狼) 是热心肠地在帮你,怎么能说他是骗分呢?

分给不给是你的事。他说的有没有价值,你自己判断。

有的人帖子都注明了 UP 有分,也就是只要 UP 一下都会给分的,而你呢?
ddy2000 2003-07-24
  • 打赏
  • 举报
回复
按钮的Tag中填入需要的数字0--9
click全部用一个事件buutonToNum
private void buutonToNum(object sender, System.EventArgs e)
{
if(sender is Button)
{
Button bt=sender as Button;
if(bt.Tag!=null)
System.Windows.Forms.SendKeys.Send(bt.Tag.ToString());
}
}
agu 2003-07-24
  • 打赏
  • 举报
回复
snof(雪狼)
你不要再来骗分了!
相关推荐
发帖
C#

10.8w+

社区成员

.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
帖子事件
创建了帖子
2003-07-24 11:33
社区公告

让您成为最强悍的C#开发者