当十个分量固定的控制位置我有一个大的自定义面板是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