SplitContainer控件的MSDN文档说:
使用SplitContainer控件,您可以创建复杂的用户界面; 通常,在一个面板中进行选择 确定显示的对象 另一个小组。
所以,我有一个SplitContainer水平分割,有顶部和底部面板。 我想要做的是 - 当Panel1(顶部)中的控件获得焦点时,我需要Panel2(底部)内的控件进行聚焦。然后重点必须再次回到Panel1中的控件。
问题是,Panel2中的控件在CanFocus上返回false。我知道,对于某种控制,这种情况可能会发生,并且控件的每个祖先都必须有焦点才能获得焦点。我也试过了,但无济于事。 CanFocus仍然返回false。
有没有替代解决方案?有没有人试过这个。我想要做的事情与Outlook的做法基本相同。在收件箱中选择邮件时。邮件正文显示在底部面板中。
答案 0 :(得分:0)
您所描述的内容并不模仿Outlook。如果我在Outlook中的邮件列表中选择一条邮件,焦点将保留在邮件列表中。是的,邮件正文显示在下方,但焦点不会移动。
不应该阻止您更改任何面板中显示的控件或内容。你不应该转移焦点来实现这一目标。
答案 1 :(得分:0)
您真的需要将焦点设置为Panel2吗?
我猜你的Panel2包含类似于RichTextBox对象的东西,为简单起见称为RTB1。
说某人在Panel1中选择了某些内容。为简单起见,假设您有一个名为LV1的ListView控件。
然后,在LV1.SelectedIndexChanged事件上,读取该事件并将数据填充到RTB1。
除非有我遗漏的东西,否则你真的不需要专注于Panel2。