先说一下需求:如图所示,在文本框中输入关键字,点击“筛选”查询信息,并在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事件,我没试,有兴趣的可以试一下!!!