當十個分量固定的控制位置我有一個大的自定義面板是Panel2即在父面板PANEL1滾動的左中部的標籤label1的。滾動面板
alt text http://lh4.ggpht.com/_1TPOP7DzY1E/SzNN2g9Sv4I/AAAAAAAAC1U/A_LlLOoejX8/s800/formScroll.png
我會始終保持在是Panel2的可見光左中間LABEL1,滾動時也是如此。
在實際的例子中,我的面板是一個用戶控件,生成左邊的一些標籤。面板滾動,但我需要保持標籤始終可見。
如何實現?
這是我的代碼:
public partial class Form1 : Form
{
public Form1()
{
this.InitializeComponent();
}
protected Point clickPosition;
protected Point scrollPosition;
private void panel2_MouseDown(object sender, MouseEventArgs e)
{
this.clickPosition = e.Location;
}
private void panel2_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
this.SuspendLayout();
this.scrollPosition += (Size)clickPosition - (Size)e.Location;
this.panel1.AutoScrollPosition = scrollPosition;
this.ResumeLayout(false);
}
}
}
謝謝潘迪亞。不幸的是,這些線程中的任何一個都不利於我的問題。我不能使用TableLayoutPanel,* label1 *應該強制在* panel2 *中。 ThreeView案件也不是我的。 – serhio 2009-12-24 11:56:58