选中窗体
然后找到下图事件,为windos键盘事件

/**
* 失去焦点
* */
private void tb_username_LostFocus(object sender, RoutedEventArgs e)
{
if (StringUtils.IsEmpty(tb_username.Text)) {
tb_username.Text = "请输入用户名";
tb_username.Foreground = new SolidColorBrush(Color.FromRgb(110, 108, 108));
}
}
/**
获取焦点
*/
private void tb_username_GotFocus(object sender, RoutedEventArgs e)
{
if ("请输入用户名".Equals(tb_username.Text)) {
tb_username.Text = "";
tb_username.Foreground = new SolidColorBrush(Colors.Black);
}
}
private void tb_password_GotFocus(object sender, RoutedEventArgs e)
{
if ("请输入密码".Equals(tb_password.Text))
{
tb_password.Text = "";
tb_password.Foreground = new SolidColorBrush(Colors.Black);
}
}
private void tb_password_LostFocus(object sender, RoutedEventArgs e)
{
if (StringUtils.IsEmpty(tb_password.Text))
{
tb_password.Text = "请输入密码";
tb_password.Foreground = new SolidColorBrush(Color.FromRgb(110, 108, 108));
}
}
private void Window_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyStates == Keyboard.GetKeyStates(Key.Tab)) {
if (tb_username.IsFocused) {
tb_password.Focus();
}
}
if (e.KeyStates == Keyboard.GetKeyStates(Key.Enter))
{
login();
}
}
//登录
private void login()
{
}
本文详细介绍了在WPF应用中如何通过代码处理窗体元素的焦点获得与丢失事件,以及如何监听键盘事件,如Tab键切换输入框和Enter键触发登录功能。通过具体的代码示例,展示了如何在文本框失去焦点时显示提示信息,以及在获得焦点时清除这些提示。
657

被折叠的 条评论
为什么被折叠?



