2012-02-23 24 views
2

私はフォームにPanelを持っていて、フォームの上に固定された位置にしたいと思っています。したがって、下にスクロールすると、パネルが常に表示されます。パネルの固定位置

どうすればいいですか?

+1

ASP.NET、WinformsのかWPF?すべてがパネルを持っています。 –

+1

あなたの質問にうまく答えるには、問題の詳細を指定する必要があります。 ASP.NET/WPF/Winforms/Silverlightを使用していますか?あなたのコードはどのようになっていますか? – edvaldig

+0

私はwinforms – user1051434

答えて

1

2つのパネルをドッキングするには、フォームに1つを塗りつぶしますが、フローティングパネルはドックで塗りつぶしたパネルのコレクションではなく、フォームのコントロールコレクションの一部であることを確認してください。時々デザイナーとやるのは難しい。

サンプルアプリケーション:

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); 
    } 
} 

既存のパネルの上だフローティングパネルのためです。コントロールが浮動小数点の下にスクロールされるとどうなるでしょうか?

スクロール部分の上にあるようにトップパネルを探している場合は、2つのパネルを逆の順序で追加し、トップパネルがドッキングされてトップパネルが「背後"スクロールパネル。

サンプルアプリケーション:

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); 
    } 
} 
+0

BindingNavigatorをお持ちの場合はどうすればよいですか?どのように私はそれを上に固定することができますか? Dockプロパティが機能しません。 – user1051434

+0

@ user1051434なぜ機能しないのですか?私は "topPanel"コントロールをBindingNavigatorコントロールに置き換えて、うまくいきました。それはフォームの上部に行き、スクロールパネルがその下にあります。これは第2の例に基づいています。なぜなら、パネル上にコントロールを「浮動させようとしていない」ように聞こえるからです。 – LarsTech

+0

私のページをスクロールすると、bindingNavigatorはdockStyleを使用して消滅します。 – user1051434