public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
panel1.AutoScroll = true; panel1.ControlRemoved += new ControlEventHandler( panel1_ControlRemoved );
} void panel1_ControlRemoved( object sender , ControlEventArgs e )
{
System.Collections.IEnumerator enumerator = this.panel1.Controls.GetEnumerator();
int index = 0;
while ( enumerator.MoveNext() )
{
Control ctrl = (Control)enumerator.Current;
if ( index == 0 )
ctrl.Location = new Point( 0 , 0 );
else
ctrl.Location = new Point( 0 , ( index * ( 60 + 3 ) ) );
index++;
}
}
int height = 60; private void button1_Click( object sender , EventArgs e )
{
Button btn = new Button();
btn.Width = panel1.Width-4;
btn.Height = height;
btn.BackColor = SystemColors.ButtonFace;
btn.Top = panel1.Controls.Count * height;
btn.Text = Convert.ToString( panel1.Controls.Count + 1 );
panel1.Controls.Add( btn );
btn.Click += new EventHandler( btn_Click );
} void btn_Click( object sender , EventArgs e )
{
panel1.Controls.Remove( (Control)sender );
}
}
当点击button1添加多个button控件到panel中后,此时panel有滚动条,把滚动条拖到最低下,点击最后一个button移除后,再把滚动条往上拖到顶,就会发现空出来一大截,怎么让第一个控件到顶啊?
{
public Form1()
{
InitializeComponent();
panel1.AutoScroll = true; panel1.ControlRemoved += new ControlEventHandler( panel1_ControlRemoved );
} void panel1_ControlRemoved( object sender , ControlEventArgs e )
{
System.Collections.IEnumerator enumerator = this.panel1.Controls.GetEnumerator();
int index = 0;
while ( enumerator.MoveNext() )
{
Control ctrl = (Control)enumerator.Current;
if ( index == 0 )
ctrl.Location = new Point( 0 , 0 );
else
ctrl.Location = new Point( 0 , ( index * ( 60 + 3 ) ) );
index++;
}
}
int height = 60; private void button1_Click( object sender , EventArgs e )
{
Button btn = new Button();
btn.Width = panel1.Width-4;
btn.Height = height;
btn.BackColor = SystemColors.ButtonFace;
btn.Top = panel1.Controls.Count * height;
btn.Text = Convert.ToString( panel1.Controls.Count + 1 );
panel1.Controls.Add( btn );
btn.Click += new EventHandler( btn_Click );
} void btn_Click( object sender , EventArgs e )
{
panel1.Controls.Remove( (Control)sender );
}
}
当点击button1添加多个button控件到panel中后,此时panel有滚动条,把滚动条拖到最低下,点击最后一个button移除后,再把滚动条往上拖到顶,就会发现空出来一大截,怎么让第一个控件到顶啊?
解决方案 »
- mschart能绘出如下效果吗?或者用什么实现好?
- toolStripStatusLabel3 想要FROM1输入的“TEXTBOX1.Text"用户名的值
- 字段转换问题
- 在winfrom中用reportview显示reporting service报表
- 求助:不太会脚本语言,想在客户端实现下拉列表框的选择
- 关于.net remoting 团队开发的讨论
- 求助!如何串行化一个文件下所有的图片文件?
- 怎样用浏览器来接收C# 的程序返回的时间cool!
- 关于 用 c# asp.net web 应用程序
- 真的没人知道?????????
- C#里如果string里,本身有一大堆双引号,如何处理赋值?
- c#.net如何实现在画板上画圆和矩形?
panel1.VerticalScroll.Value = 0;
楼主你出现这样的问题应该是由于当前滚动条已经滚动到下方,这个时候设置location会从当前滚动条所处的最顶端位置开始算起。一些拙见。