如何取消 TextBox 的自动聚焦功能?
时间: 2024-10-16 14:15:02 浏览: 17
WPF自动提示textbox
4星 · 用户满意度95%
在 C# 中,如果你想取消 `TextBox` 的自动聚焦功能,即用户打开窗口后立即自动获得焦点的行为,可以在创建或初始化 TextBox 对象时设置 `IsTabStop` 和 `TabIndex` 属性为 false,并禁用 `GotFocus` 或 `PreviewGotKeyboardFocus` 事件。
首先,在 XAML 中设置:
```xml
<TextBox x:Name="myTextBox"
TabIndex="-1" <!-- 使 TextBox 不显示在 Tab 序列中 -->
IsTabStop="False" <!-- 阻止 TextBox 自动获取焦点 -->
GotFocus="TextBox_GotFocus" /> <!-- 如果有事件处理,则去掉或注释掉 -->
```
然后,在 C# 中,如果你希望禁用 `GotFocus` 事件处理,可以这样做:
```csharp
// 只有当你已经有了名为 "TextBox_GotFocus" 的事件处理器时才需要这行代码
// myTextBox.GotFocus -= MyTextBox_GotFocus;
// 如果不需要任何事件处理,可以直接移除事件绑定
// myTextBox.GotFocus -= null;
```
这样,用户需要手动点击才能让 TextBox 获取焦点。
阅读全文