加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – WPF:阻止用户离开TextBox?

发布时间:2020-12-15 17:17:42 所属栏目:百科 来源:网络整理
导读:我赢得了其他战斗而失去了这一次 – 我们的设计有时会迫使用户进入战场.显然,代码示例过于简单.如果我需要在某处提供更多详细信息,请告诉我. XAML: Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/pres
我赢得了其他战斗而失去了这一次 – 我们的设计有时会迫使用户进入战场.显然,代码示例过于简单.如果我需要在某处提供更多详细信息,请告诉我.

XAML:

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Grid>
        <TextBox Height="23" Margin="5,5,0" Name="textBox1" />
        <TextBox Height="23" Margin="5,65,0" Name="textBox2" />
        <ComboBox Height="23" Margin="5,125,0" Name="comboBox1" >
            <ComboBoxItem Content="Lorem Ipsum" />
        </ComboBox>
    </Grid>
</Window>

XAML.CS:

using System.Windows.Input;

namespace WpfApplication1 {
    public partial class MainWindow {
        public MainWindow() {
            InitializeComponent();
            textBox1.Focus();
            textBox1.PreviewLostKeyboardFocus += Foo;
        }

        void Foo(object sender,KeyboardFocusChangedEventArgs e) {
            e.Handled = true;
        }
    }
}

默认情况下,应用程序在textBox1上启动焦点/光标.该TextBox的PreviewLostKeyboardFocus处理程序阻止用户将焦点移动到带有键盘或鼠标的textBox2.

但是用户可以使用鼠标将焦点移动到comboBox1.

为什么用户可以使用鼠标将焦点移动到comboBox1,如何强制用户保留在textBox1中?

解决方法

尝试:

comboBox1.IsHitTestVisible = false;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读