xyz溢价域名最好的网站网站建设一点通
xyz溢价域名最好的网站,网站建设一点通,wordpress 归档 什么用,张店网站建相信很多博友在开发初次接触学习C# winForm时#xff0c;当窗体大小变化时#xff0c;窗体内的控件并没有随着窗体的变化而变化#xff0c;最近因为一个项目工程的原因#xff0c;也需要解决这个问题。通过查阅和学习#xff0c;这个问题得到了解决#xff0c;或许不是很… 相信很多博友在开发初次接触学习C# winForm时当窗体大小变化时窗体内的控件并没有随着窗体的变化而变化最近因为一个项目工程的原因也需要解决这个问题。通过查阅和学习这个问题得到了解决或许不是很好的处理方式但是也值得借鉴。。。 下面我将建立一个Demo来大概解释下这个方法的实现注我使用的是的VS2010 Step1打开VS2010建立一个C#Winform项目注这里我将其命名为test1博友们可以自由发挥哈 建立之后拖拽控件达到如图所示效果 Step2右击查看代码在代码界面添加 1.定义全局变量 private float X;//当前窗体的宽度
private float Y;//当前窗体的高度 2.功能函数setTag /// summary/// 将控件的宽高左边距顶边距和字体大小暂存到tag属性中/// /summary/// param namecons递归控件中的控件/paramprivate 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);}} 3.功能函数setControls //根据窗体大小调整控件大小private void setControls(float newx, float newy, Control cons){//遍历窗体中的控件重新设置控件的值foreach (Control con in cons.Controls){string[] mytag con.Tag.ToString().Split(new char[] { : });//获取控件的Tag属性值并分割后存储字符串数组float a System.Convert.ToSingle(mytag[0]) * newx;//根据窗体缩放比例确定控件的值宽度con.Width (int)a;//宽度a System.Convert.ToSingle(mytag[1]) * newy;//高度con.Height (int)(a);a System.Convert.ToSingle(mytag[2]) * newx;//左边距离con.Left (int)(a);a System.Convert.ToSingle(mytag[3]) * newy;//上边缘距离con.Top (int)(a);Single currentSize System.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);}}} 4.在窗体的Load事件中添加 private void Form1_Load(object sender, EventArgs e){X this.Width;//获取窗体的宽度Y this.Height;//获取窗体的高度setTag(this);//调用方法} 5.在窗体的Resize事件中添加 private void Form1_Resize(object sender, EventArgs e){float newx (this.Width) / X; //窗体宽度缩放比例float newy (this.Height) / Y;//窗体高度缩放比例setControls(newx, newy, this);//随窗体改变控件大小} Step3: 点击启动调试至此该功能已经实现是不是发现控件都可以等比例变化了over 总结当然这只是一个小Demo,在实际应用中还需要各位博友的脑洞打开才能更好的和各位的代码契合更好的应用到实际的项目中去。这也是我的第一篇博文虽然篇幅不长但是内容还算充实吧希望以后各位多多支持~ 转载于:https://www.cnblogs.com/sakalaka/p/5135230.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/90654.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!