SplitContainer.Panel1选择更改SplitContainer.Panel2选择

时间:2009-08-26 14:59:34

标签: c# .net winforms controls splitcontainer

SplitContainer控件的MSDN文档说:

  

使用SplitContainer控件,您可以创建复杂的用户界面;   通常,在一个面板中进行选择   确定显示的对象   另一个小组。

所以,我有一个SplitContainer水平分割,有顶部和底部面板。 我想要做的是 - 当Panel1(顶部)中的控件获得焦点时,我需要Panel2(底部)内的控件进行聚焦。然后重点必须再次回到Panel1中的控件。

问题是,Panel2中的控件在CanFocus上返回false。我知道,对于某种控制,这种情况可能会发生,并且控件的每个祖先都必须有焦点才能获得焦点。我也试过了,但无济于事。 CanFocus仍然返回false。

有没有替代解决方案?有没有人试过这个。我想要做的事情与Outlook的做法基本相同。在收件箱中选择邮件时。邮件正文显示在底部面板中。

2 个答案:

答案 0 :(得分:0)

您所描述的内容并不模仿Outlook。如果我在Outlook中的邮件列表中选择一条邮件,焦点将保留在邮件列表中。是的,邮件正文显示在下方,但焦点不会移动。

不应该阻止您更改任何面板中显示的控件或内容。你不应该转移焦点来实现这一目标。

答案 1 :(得分:0)

您真的需要将焦点设置为Panel2吗?

我猜你的Panel2包含类似于RichTextBox对象的东西,为简单起见称为RTB1。

说某人在Panel1中选择了某些内容。为简单起见,假设您有一个名为LV1的ListView控件。

然后,在LV1.SelectedIndexChanged事件上,读取该事件并将数据填充到RTB1。

除非有我遗漏的东西,否则你真的不需要专注于Panel2。