面板固定位置

时间:2012-02-23 15:36:16

标签: c# winforms scroll panel

我在表格中有一个面板,我希望它位于表格顶部的固定位置。因此,如果我向下滚动,面板将始终可见。

你知道我该怎么办?

1 个答案:

答案 0 :(得分:1)

有两个面板,dock填充表单,但确保浮动面板是Forms控件集合的一部分,而不是Dock填充面板的集合。有时候很难与设计师合作。

示例应用程序:

public partial class Form1 : Form {
  Panel backPanel;
  Panel floatPanel;

  public Form1() {
    InitializeComponent();

    floatPanel = new Panel();
    floatPanel.BorderStyle = BorderStyle.FixedSingle;
    floatPanel.SetBounds(0, 0, 128, 64);
    this.Controls.Add(floatPanel);

    backPanel = new Panel();
    backPanel.Dock = DockStyle.Fill;
    backPanel.AutoScrollMinSize = new Size(0, 1000);
    this.Controls.Add(backPanel);
  }
}

这适用于位于现有面板顶部的浮动面板。不会产生很多gui意义,因为如果控件滚动到浮动面板下面会发生什么?

如果您要将Top面板放在滚动部分的上方,请按相反顺序添加两个面板,将“顶部”面板填充到顶部,这样顶部面板不会“放在后面”滚动面板。

示例应用程序:

public partial class Form1 : Form {
  Panel backPanel;
  Panel topPanel;

  public Form1() {
    InitializeComponent();

    backPanel = new Panel();
    backPanel.Dock = DockStyle.Fill;
    backPanel.AutoScrollMinSize = new Size(0, 1000);
    this.Controls.Add(backPanel);

    topPanel = new Panel();
    topPanel.Height = 64;
    topPanel.Dock = DockStyle.Top;
    this.Controls.Add(topPanel);
  }
}