C#中如何按比例放大或缩小窗口
即窗口中的一些空间显示内容等按窗口比例显示并不是简单的最大化或最小化的问题有知道的请帮下忙谢谢了设置Anchor和Dock不能满足要求我是按窗口拉伸事件写的代码可是执行时...
即窗口中的一些空间 显示内容等按窗口比例显示 并不是简单的最大化或最小化的问题 有知道的请帮下忙 谢谢了
设置Anchor和Dock不能满足要求 我是按窗口拉伸事件写的代码 可是执行时总出些问题 并不是按比例放大或缩小的 要是大家能附上一段代码就好了 谢谢了 展开
设置Anchor和Dock不能满足要求 我是按窗口拉伸事件写的代码 可是执行时总出些问题 并不是按比例放大或缩小的 要是大家能附上一段代码就好了 谢谢了 展开
3个回答
展开全部
不知道是不是这个意思
//窗口resize之前的大小
private Size beforeResizeSize = Size.Empty;
//改变窗口大小之前自发的事件
protected override void OnResizeBegin(EventArgs e)
{
base.OnResizeBegin(e);
beforeResizeSize = this.Size;
}
//改变窗口大小之后自发的事件
protected override void OnResizeEnd(EventArgs e)
{
base.OnResizeEnd(e);
//窗口resize之后的大小
Size endResizeSize = this.Size;
//获得变化比例
float percentWidth = (float)endResizeSize.Width / beforeResizeSize.Width;
float percentHeight = (float)endResizeSize.Height / beforeResizeSize.Height;
//按比例改变控件大小
this.button1.Width = (int)(button1.Width * percentWidth);
this.button1.Height = (int)(button1.Height * percentHeight);
//为了不使控件之间覆盖 位置也要按比例变化
this.button1.Left = (int)(button1.Left * percentWidth);
this.button1.Top = (int)(button1.Top * percentHeight);
}
//窗口resize之前的大小
private Size beforeResizeSize = Size.Empty;
//改变窗口大小之前自发的事件
protected override void OnResizeBegin(EventArgs e)
{
base.OnResizeBegin(e);
beforeResizeSize = this.Size;
}
//改变窗口大小之后自发的事件
protected override void OnResizeEnd(EventArgs e)
{
base.OnResizeEnd(e);
//窗口resize之后的大小
Size endResizeSize = this.Size;
//获得变化比例
float percentWidth = (float)endResizeSize.Width / beforeResizeSize.Width;
float percentHeight = (float)endResizeSize.Height / beforeResizeSize.Height;
//按比例改变控件大小
this.button1.Width = (int)(button1.Width * percentWidth);
this.button1.Height = (int)(button1.Height * percentHeight);
//为了不使控件之间覆盖 位置也要按比例变化
this.button1.Left = (int)(button1.Left * percentWidth);
this.button1.Top = (int)(button1.Top * percentHeight);
}
展开全部
一般是设置Anchor和Dock属性,不过如果你的要求比较复杂那就可以在窗口大小改变事件里增加判断的代码,根据当前窗体的大小来计算控件的大小和位置。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
貌似你得写代码了,也不难,在窗体的拉伸事件中写
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询