老问题vs2008 控件随窗体变化大小变化

deknight 2009-04-22 11:24:45
不是控件位置,是大小跟着变化,在resize里怎么写?
请给出代码,谢谢.
...全文
350 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
deknight 2009-04-22
  • 打赏
  • 举报
回复
算了,就这么地了...
deknight 2009-04-22
  • 打赏
  • 举报
回复
我先看下,请高手帮忙看下我那段代码,为什么不成功?vs2008
fdc123 2009-04-22
  • 打赏
  • 举报
回复
顶 就是用DOCK控制的 大小也变 不过变大变小之后很难看 。个人观点
deknight 2009-04-22
  • 打赏
  • 举报
回复

/// <summary>
/// 控件随窗体自动缩放
/// </summary>
/// <param name="frm"></param>
public static void AutoScale(Form frm)
{
frm.Tag = frm.Width.ToString() + "," + frm.Height.ToString();
frm.SizeChanged += new EventHandler(frm_SizeChanged);
}

static void frm_SizeChanged(object sender, EventArgs e)
{
string[] tmp = ((Form)sender).Tag.ToString().Split(',');
float width = (float)((Form)sender).Width / (float)Convert.ToInt16(tmp[0]);
float heigth = (float)((Form)sender).Height / (float)Convert.ToInt16(tmp[1]);

((Form)sender).Tag = ((Form)sender).Width.ToString() + "," + ((Form)sender).Height;

foreach (Control control in ((Form)sender).Controls)
{
control.Scale(new SizeF(width, heigth));

}
}



我调试不成功
LemIST 2009-04-22
  • 打赏
  • 举报
回复
大小也变
LemIST 2009-04-22
  • 打赏
  • 举报
回复
this.closeButton1.Dock = System.Windows.Forms.DockStyle.Top;
this.closeButton1.Dock = System.Windows.Forms.DockStyle.(...); 
deknight 2009-04-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 LemIST 的回复:]
使用控件的Dock属性排版。这样就能自动随窗体大小变化调节自己的大小了。
[/Quote]

dock好象是位置跟着变化吧?大小似乎没变?
ak8800 2009-04-22
  • 打赏
  • 举报
回复
比如一个gridview,
gridview1.width = form1.with -10;
gridview1.height= form1.height -10;
LemIST 2009-04-22
  • 打赏
  • 举报
回复
使用控件的Dock属性排版。这样就能自动随窗体大小变化调节自己的大小了。

110,533

社区成员

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

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

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