C# 选项卡在窗口应用程序中不起作用

C# 选项卡在窗口应用程序中不起作用,c#,winforms,C#,Winforms,我的应用程序中有两个文本框,一个是txtrampaign,第二个是txtrl。txtrampaign的TabIndex为1,txtrl的TabIndex为2 现在我使用了以下代码: private void txtCampaign_Enter(object sender, EventArgs e) { txtCampaign.BorderStyle = BorderStyle.FixedSingle; txtUrl.BorderStyle = BorderSt

我的应用程序中有两个文本框,一个是
txtrampaign
,第二个是
txtrl
txtrampaign
的TabIndex为1,
txtrl
的TabIndex为2

现在我使用了以下代码:

 private void txtCampaign_Enter(object sender, EventArgs e)
 {
        txtCampaign.BorderStyle = BorderStyle.FixedSingle;
        txtUrl.BorderStyle = BorderStyle.Fixed3D;
 }

 private void txtUrl_Enter(object sender, EventArgs e)
 {
       txtUrl.BorderStyle = BorderStyle.FixedSingle;
       txtCampaign.BorderStyle = BorderStyle.Fixed3D;
 }
现在,当我使用第一个文本框的选项卡时,它将不允许我转到第二个文本框

我不知道为什么会这样?但是如果我删除了上面的代码,它就可以正常工作了

在事件中使用SetFocus()。示例代码:

public Form1()
{
    InitializeComponent();
    textBox1.Enter += textBox1_Enter;
    textBox2.Enter += textBox2_Enter;
}

private void textBox2_Enter(object sender, EventArgs e)
{
    textBox1.BorderStyle = BorderStyle.Fixed3D;
    textBox2.BorderStyle = BorderStyle.FixedSingle;
    textBox2.Focus();
}

private void textBox1_Enter(object sender, EventArgs e)
{
    textBox2.BorderStyle = BorderStyle.Fixed3D;
    textBox1.BorderStyle = BorderStyle.FixedSingle;
    textBox1.Focus();
}

我也不知道。设置新的
BorderStyle
值时,您所在的文本框可能会失去焦点。尝试在事件处理程序中调用
txtBox.Focus()
。如果没有,您的下一次尝试是在eventhandler中重置
TabOrder
值。