簡體   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