如何在按下时使 Ctrl+Tab 与在多行文本框中按下 Tab 一样工作?

发布于 2024-12-09 23:33:18 字数 287 浏览 0 评论 0原文

我有一个 TextBox 并将 MiltiLine 属性设置为 true,将 AcceptsTab 属性设置为 false。

当 TextBox 具有焦点并且我按 Tab 时,它工作正常,并且下一个控件获得焦点,但是当我按 Ctrl+Tab 时,它的工作方式就好像 AcceptsTab 属性设置为 true 并将制表符添加到 TextBox 中。

我在 MDI 应用程序中的表单之间切换时按 Ctrl+Tab.. 的原因。

现在如何使 Ctrl+Tab 按下时的效果类似于在多行文本框中按下 Tab 时的效果?

I have a TextBox and set the MiltiLine property to true and AcceptsTab property to false.

When the TextBox has focus and i press Tab it works fine and the next control get the focus, but when i press Ctrl+Tab it works as if AcceptsTab property is set to true and makes a tab character into the TextBox.

The reason i press Ctrl+Tab.. when switching between forms in my MDI application.

Now how to make a Ctrl+Tab when pressed works like Tab when pressed in a MultiLine TextBox?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

在你怀里撒娇 2024-12-16 23:33:18

好吧,如果你想抑制文本框中的 Ctrl+Tab 按下事件,你可以使用如下代码处理 TextBox.KeyDown 事件:

private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.Control && e.KeyCode == Keys.Tab)
    {
        e.Handled = true;
    }
}

此代码将抑制 TextBox 中的 Tab 行为。但我不知道它是否会保持儿童形式的转换行为。也许您必须以编程方式实现它。在我的带有一个 MDIContainer 窗体和两个子窗体的简单 MDI 应用程序中,默认情况下不会出现此行为。

Well, if you want to suppress Ctrl+Tab press event in textbox, you may hanlde TextBox.KeyDown event with code like this:

private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.Control && e.KeyCode == Keys.Tab)
    {
        e.Handled = true;
    }
}

This code will suppress Tab behaviour in TextBox. But I don't know if it keeps child forms switching behaviour. Possibly you will have to implement it programmatically. In my simple MDI application with one MDIContainer form and two child forms showed this behaviour doesn't appear by default.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文