繁体   English   中英

Winforms 将焦点移动到用户控件中的下一个控件

[英]Winforms move focus to next control in usercontrol

如何在UserControl控件中移动焦点? 先检查附件。 我已将控件放入TableLayout并设置**TabIndex**一切正常。 但是当焦点来到 usercontrol Drzave, Postanski br., Grad and Adrese时,他跳过了 usercontrol。

因此,在TableLayout ROW中,我首先放置了Panel ,然后在该面板中放置了UserControl 问题是因为如果下一个控件在面板中,则移动到下一个控件焦点不起作用。

我尝试什么:

我所有的控件都有抽象基础 class 并且都覆盖OnKeyUp事件。 我用Enter更改TAB

protected override void OnKeyUp(KeyEventArgs e)
{
    if(e.KeyCode == Keys.Enter)
    {
        SendKeys.Send("{TAB}");
    }
}

所以我所有的控件都会覆盖这个事件并且一切正常。

usercontrol中,我创建属性以尝试访问控件并从父表单设置焦点。

  public BaseComboBox Drzava
    {
        get { return this.drzaveComboBox.Drzave; }
        set { this.drzaveComboBox.Drzave = value; }
    }

我还在TextBox Rabat上创建LEAVE事件。 当用户离开 rabat 文本框时,我尝试手动在 usercontrol drzava 中设置焦点。

  private void rabatTextBox_Leave(object sender, EventArgs e)
        {
            this.adreseGroupedUC1.Drzava.Focus(); // select();
        }

这两种情况都是我尝试不工作的情况。

在此处输入图像描述

答案可以在面板 object 的属性选项卡中找到(见下图)。 在它上面的最后一个输入字段之后给面板一个索引,并给面板中的第一个输入字段相同的索引。 示例索引顺序:

输入字段 1 = 0,
输入字段 2 = 1,

面板 = 2,

面板中的输入字段 3 = 2,
面板中的输入字段 4 = 3,

输入字段 2 = 4,

还将面板的 TabStop 属性更改为 true 这将强制 TAB 以正确的顺序继续。

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM