先说一下需求:如图所示,在文本框中输入关键字,点击“筛选”查询信息,并在GridView显示,然后按Delete键或者Backspace键,删除文本框中的信息,判断当文本框中的信息被完全删除时,执行事件查询所有的信息。

    尝试一 :我先使用的TextChanged,但是在TextChanged事件中获取不到键盘(如果谁能在TextChanged事件中获取到键盘请给我留言,告诉我方法,谢谢)

   尝试二:使用KeyDown事件,KeyDown事件可以捕获到Delete键;但是对于Backspace键,只有当文本框中的值被完成删除时,在按一个Backspace键才能捕获到Backspace键,所以KeyDown也不行

  尝试三:使用KeyUp事件,

detail.txtKName.KeyUp += new KeyEventHandler(txtKName_KeyUp);
        void txtKName_KeyUp(object sender, KeyEventArgs e)
        {
            if (e.Key == Key.Delete || e.Key == Key.Back)
            {
                if (detail.txtKName.Text.ToString().Trim() == "")
                {
                     
                }
            }
        }

执行成功,达到预期的效果。

有网友说也可以重载onKeyDown事件,我没试,有兴趣的可以试一下!!!

posted on 2012-11-14 11:39  非“程”勿扰  阅读(2183)  评论(0编辑  收藏  举报