当前位置:编程学习 > C#/ASP.NET >>

c#程序按键盘没有反映

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_KeyUp(object sender, KeyEventArgs e)
        {
            MessageBox.Show(e.KeyCode.ToString(),"ssss");
        }
    }

    }

我新建的工程,没做任何设定,响应键盘的函数是打上去的 --------------------编程问答-------------------- 这个是释放按键时候发生,没得问题。能够弹出MessageBox --------------------编程问答--------------------
引用 1 楼 chinajiyong 的回复:
这个是释放按键时候发生,没得问题。能够弹出MessageBox


public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }

        private void Form2_KeyUp(object sender, KeyEventArgs e)
        {
            MessageBox.Show(e.KeyCode.ToString(), "系统提示");
        }
    }
--------------------编程问答-------------------- 有问题,绝对弹不出来后来我加了KeyUp += new System.Windows.Forms.KeyEventHandler(Form1_KeyUp);才可以,但是在另一个工程中又不能用了,那个工程有panel控件 --------------------编程问答--------------------
引用 3 楼 linuxcong 的回复:
有问题,绝对弹不出来后来我加了KeyUp += new System.Windows.Forms.KeyEventHandler(Form1_KeyUp);才可以,但是在另一个工程中又不能用了,那个工程有panel控件

那就是你之前没绑定事件啥 --------------------编程问答-------------------- 你把你现在添加的删除,在Form.Desiger.cs看看有没有下面这句话

  this.Load += new System.EventHandler(this.Form2_Load);
            this.KeyUp += new System.Windows.Forms.KeyEventHandler(this.Form2_KeyUp);
            this.ResumeLayout(false);
--------------------编程问答--------------------  是不是你的事件绑定代码丢失了啊? --------------------编程问答-------------------- 高人在哪里啊? 我在写一个打字游戏,找了个范例,范例可以很好的响应键盘.我的就不可以,同样是响应键盘的函数啊!!!我发现范例的panel1 控件和我的不一样.在范例里把他自代的panel换成新的范例也不响应键盘了,着难道是控件设置的问题 --------------------编程问答-------------------- 这个是你在设计界面,没有通过点击控件来绑定事件,而是直接把事件的执行代码加进去了。所以不会执行。
要不你就在代码中,手动的增加事件订阅,要不就在界面上通过事件属性来增加。就这么简单。 --------------------编程问答-------------------- 没有这样的代码 --------------------编程问答-------------------- 这是范例的Form.Desiger.cs
namespace LetterGame
{
    partial class Form1
    {
        /// <summary>
        /// 必需的设计器变量。
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary>
        /// 清理所有正在使用的资源。
        /// </summary>
        /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        } --------------------编程问答--------------------  private void panel1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
8楼的高人,panel1_PreviewKeyDown这事件的代码怎么通过鼠标点来加 --------------------编程问答-------------------- 把form的KeyPreview属性设置成true 试试。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,