使用C#键,ActiveControl从listview移动到文本框

时间:2016-07-06 20:35:47

标签: c# winforms listview

我想通过使用键Up将ActiveControl从listview移动到文本框。但按键时我遇到了问题。无法选择列表视图中的第一项。如果在第二行中选择了项目并按下键,焦点将直接在文本框上,而不通过第一行。 我使用这段代码:

    private void listView1_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Up)
        {
            if (listView1.SelectedItems[0].Selected)
            {
                this.ActiveControl = textBox1;
            }
        }
任何人都知道上述问题吗?

1 个答案:

答案 0 :(得分:1)

选择第一个选定项目时,您的代码会将焦点更改为textBox1。除非没有选定的项目,否则这些都是真的。

这是你想要做的:

private void listView1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Up)
    {
        if (listView1.Items[0].Selected)
        {
            this.ActiveControl = textBox1;
        }
    }
}