c#.net 如何使窗体控件随窗体扩大而自动调整大小和位置 代码和截图

回答好的,直接再给200分... 回答好的,直接再给200分 展开
 我来答
keeper3k
推荐于2016-08-29
知道答主
回答量:42
采纳率:0%
帮助的人:21.2万
展开全部
虽然俺不是很懂这个 ,但是有个专门准对楼主问题的一个例子和针对字体碎窗口大小自动适应的一个例子,如果楼主需要,追问留邮箱或QQ,不用的话 飘过就好....

额 我把他转换成TXT 的代码了 楼主看下是否有帮助:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{

private float X,Y;

public Form1()
{

InitializeComponent();
}

private void setTag(Control cons)
{
foreach (Control con in cons.Controls)
{
con.Tag = con.Width + ":" + con.Height + ":" + con.Left + ":" + con.Top + ":" + con.Font.Size;
if (con.Controls.Count > 0)
setTag(con);
}
}

private void setControls(float newx, float newy, Control cons)
{
foreach (Control con in cons.Controls)
{

string[] mytag = con.Tag.ToString().Split(new char[] { ':' });
float a = Convert.ToSingle(mytag[0]) * newx;
con.Width = (int)a;
a = Convert.ToSingle(mytag[1]) * newy;
con.Height = (int)(a);
a = Convert.ToSingle(mytag[2]) * newx;
con.Left = (int)(a);
a = Convert.ToSingle(mytag[3]) * newy;
con.Top = (int)(a);
Single currentSize = Convert.ToSingle(mytag[4]) * newy;
con.Font = new Font(con.Font.Name, currentSize, con.Font.Style, con.Font.Unit);
if (con.Controls.Count > 0)
{
setControls(newx, newy, con);
}
}

}

private void Form1_Resize(object sender, EventArgs e)
{
// throw new Exception("The method or operation is not implemented.");
float newx = (this.Width) / X;
// float newy = (this.Height - this.statusStrip1.Height) / (Y - y);
float newy = this.Height / Y;
setControls(newx, newy, this);
this.Text = this.Width.ToString() + " " + this.Height.ToString();
}

private void Form1_Load(object sender, EventArgs e)
{
this.Resize += new EventHandler(Form1_Resize);

X = this.Width;
Y = this.Height;
// y = this.statusStrip1.Height;
setTag(this);

}

}
}
追问
要 !本人qq是353182270
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友126e4f3
2011-06-17 · 超过50用户采纳过TA的回答
知道小有建树答主
回答量:257
采纳率:0%
帮助的人:162万
展开全部
定义上下左右位置即可
追问
关键是代码怎么写?我也知道先计算出宽和高 记录位置 然后按比例扩大  但是代码不会啊
你有做过这类问题吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式