如何在TableLayoutPanel中为最后添加的ctrl设置焦点

时间:2009-12-02 05:37:10

标签: c#

我正在使用TableLayoutPanel来显示图像..这里动态我将添加很多图像到TableLayoutPanel ..这里我需要关注最后添加的图像....我不知道该怎么做请帮助我.. ..

2 个答案:

答案 0 :(得分:1)

您可以通过Control.Select()属性激活最后一个控件。

答案 1 :(得分:0)

我假设您正在使用Panel控件来显示图像,并且您当前的代码看起来与类似:

在您的OnLoad中

表单...

Panel panel=null;
foreach(Image i in images)
{
    panel =new Panel();
    panel.BackgroundImage=i;
    panel.TabStop=true;
    tableLayoutPanel1.Controls.Add(panel);
}

panel.Focus();
  • 使用该代码,焦点永远不会正确设置!

<强>为什么吗

在设定焦点之前,似乎需要激活表格。

通过一些小调整,焦点将正确设置

  • 首先跟踪表单级别的最后一个面板。

  • 其次覆盖表单OnActivated事件并调用panel.Focus()。 在OnLoad覆盖或加载事件中构造和添加它仍然是安全的。