c#窗体怎么用keydown在lable里面输入中文

c#窗体怎么用keydown在lable里面输入中文... c#窗体怎么用keydown在lable里面输入中文 展开
 我来答
freeeeeewind
2015-08-20 · TA获得超过1万个赞
知道大有可为答主
回答量:3227
采纳率:94%
帮助的人:1365万
展开全部

用Form1的KeyPress(没有用KeyDown)实现,代码如下:

在窗体上布置一个label和一个textBox

using System;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            // 允许窗体截获键盘按键
            this.KeyPreview = true;
            // KeyPress事件处理
            this.KeyPress += Form1_KeyPress;
            // 窗口改变大小时,将textBox1显示在窗体区域之外
             this.Resize += Form1_Resize;
            textBox1.Left = this.ClientSize.Width + 20;
            textBox1.Focus():
        }

        private void Form1_KeyPress(object sender, KeyPressEventArgs e)
        {
            char c = e.KeyChar;
            // 如果是字母或数字,显示在lable1上
            if (Char.IsLetterOrDigit(c))
            {
                label1.Text += c;
            }
            else if (Char.IsControl(c))  //如果是控制字符
            {
                if (c == '\b')  //按BackSpace键,删除label1中最左边的字符
                {
                    string text = label1.Text;
                    if (text.Length > 0)
                    {
                        text = text.Remove(text.Length - 1, 1);
                        label1.Text = text;
                    }
                }
            } 
       }
       
        private void Form1_Resize(object sender, EventArgs e)
        {
            // 窗口改变大小时,将textBox1显示在窗体区域之外
            textBox1.Left = this.ClientSize.Width + 20;
            textBox1.Focus();
        }
    }
 }

代码只演示了BackSpace,输入控制字符的逻辑可以进一步完善。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式