我在关注文本框时遇到了问题。当我从列表视图中选择特定项目时,我想要关注文本框。当我使用键盘上的向上箭头时,Focus()
将起作用,但当我使用鼠标时,它不起作用。
***EDIT***
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
textBox1.Focus();
}
private void Form1_Load(object sender, EventArgs e)
{
ListViewItem lvi = new ListViewItem("A");
lvi.SubItems.Add("AA");
listView1.Items.Add(lvi);
ListViewItem lvi1 = new ListViewItem("B");
lvi1.SubItems.Add("BB");
listView1.Items.Add(lvi1);
}
答案 0 :(得分:2)
Clickview和Mouseclick事件发生在listview SelectedIndexChanged事件之后,因此如果您在SelectedIndexChanged中有textbox.focus,则焦点会在click或mousclick事件后返回到listview。如果将textbox.focus添加到listview鼠标点击事件,焦点将最终出现在文本框中(即使它在那里进行了两次)。
答案 1 :(得分:0)
在SelectedIndexChanged事件处理程序中,首先测试this.listView1.SelectedIndex> -1,如果是,则执行this.textBox1.Focus()