winform中动态创建的控件如何随着窗口的变化而变化

taiyangzhiya 2011-09-13 12:47:41
在form1上动态创建了一个panel,如何让这个panel的大小和位置随着窗口的变化而变化,请指点
...全文
192 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
taiyangzhiya 2011-09-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 caozhy 的回复:]

C# code
panel1.Dock = DockStyle.Fill;
[/Quote]
使用fill的话一动态生成就布满整个form了
threenewbee 2011-09-13
  • 打赏
  • 举报
回复
panel1.Dock = DockStyle.Fill;
taiyangzhiya 2011-09-13
  • 打赏
  • 举报
回复
UP,UP
taiyangzhiya 2011-09-13
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 stonemqy 的回复:]

C# code


private void Form1_Load(object sender, EventArgs e)
{
panel1.Left = this.Left;
panel1.Top = this.Top;
panel1.Width = this.Width;
……
[/Quote]这个是要把panel放到跟form一样大?
taiyangzhiya 2011-09-13
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 chenyingshu880603 的回复:]

给panel定义到一个位置,按百分比的大小设置,窗口变大则大,变小则小
[/Quote]有这样子想过,但是定义比例的话会出问题 窗口拉动到后面可能panel会消失
stonemqy 2011-09-13
  • 打赏
  • 举报
回复


private void Form1_Load(object sender, EventArgs e)
{
panel1.Left = this.Left;
panel1.Top = this.Top;
panel1.Width = this.Width;
panel1.Height = this.Height;
}

private void Form1_Resize(object sender, EventArgs e)
{
panel1.Left = this.Left;
panel1.Top = this.Top;
panel1.Width = this.Width;
panel1.Height = this.Height;
}

l245382052 2011-09-13
  • 打赏
  • 举报
回复
Anchor 这个属性设置下不就可以了
Gemini Dean 2011-09-13
  • 打赏
  • 举报
回复
给panel定义到一个位置,按百分比的大小设置,窗口变大则大,变小则小
taiyangzhiya 2011-09-13
  • 打赏
  • 举报
回复
up,up
taiyangzhiya 2011-09-13
  • 打赏
  • 举报
回复
anchor这个属性好像是根据与四周的距离来动态变化panel的大小?
taiyangzhiya 2011-09-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 pettiger 的回复:]

请参照panel的Anchor属性。

this.panel1.Anchor = AnchorStyles.xxxxxxxxxx

穷鬼一个,赶快给分
[/Quote]其实anchor我已经用过了 location不好实现
pettiger 2011-09-13
  • 打赏
  • 举报
回复
顺便补充一下,上面那方法可以自动调节大小,
但要是想调整panel的位置的话,
我觉得最好用个tableLayoutPanel
pettiger 2011-09-13
  • 打赏
  • 举报
回复
请参照panel的Anchor属性。

this.panel1.Anchor = AnchorStyles.xxxxxxxxxx

穷鬼一个,赶快给分

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧