如何在C#中为标签的tabstop值设置false?

时间:2009-07-30 05:52:25

标签: c# visual-studio

我有一个非常复杂的UI,上面有数百个控件/标签。我想为每个标签设置tabstop值为false,如下所示

//在MyForm.designer.cs

标记myLabel;

private void InitializeComponent()

{

this.myLabel = new Label();

this.myLabel.TabIndex = 1;

...

}

//在MyForm.cs中

this.myLabel.TabStop = false;

但它不起作用。有没有办法设置tabstop值,以便tab不会在myLabel停止?

3 个答案:

答案 0 :(得分:2)

如果您使用的是标准Label控件,则无法获得焦点。 Label的行为是将焦点转移到可以获得它的第一个控件(例如TextBox)。但是,请注意,如果您具有可以具有输入焦点的控件(例如TextBox),则一旦该控件获得焦点,无论TabStop属性如何,焦点都将保持不变。

答案 1 :(得分:1)

尝试将tabindex设置为-1,这通常会导致在我使用的大多数实现中跳过标签。

答案 2 :(得分:0)

请试试这个:

Private Sub Label1_Enter(sender As Object, e As EventArgs) Handles Label1.Enter
        SendKeys.Send("{TAB}")
    End Sub

Private Sub Label2_Enter(sender As Object, e As EventArgs) Handles Label2.Enter
    SendKeys.Send("{TAB}")
End Sub

Private Sub Label3_Enter(sender As Object, e As EventArgs) Handles Label3.Enter
    SendKeys.Send("{TAB}")
End Sub