以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 求助 窗口Font.Size随窗口同时放缩 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=103126) |
-- 作者:jackyfashion -- 发布时间:2017/6/30 22:02:00 -- 求助 窗口Font.Size随窗口同时放缩 老师: 您好! 以下代码 For Each c As Winform.Control In e.Form.Controls c.Left = c.Left * (e.Form.Width / vars("width")) c.Top = c.Top * (e.Form.Height / vars("height")) c.Width = c.Width * (e.Form.Width / vars("width")) c.Height = c.Height * (e.Form.Height / vars("height")) Next vars("width") = e.Form.width vars("height") = e.Form.height 什么代码可以字体随窗口放缩? 请老师指教!!! 谢谢!
|
-- 作者:jackyfashion -- 发布时间:2017/6/30 22:29:00 -- [此贴子已经被作者于2017/6/30 22:35:05编辑过]
|
-- 作者:有点蓝 -- 发布时间:2017/6/30 22:46:00 -- 不建议使用这个用法改字体,麻烦而不切实际 |
-- 作者:jackyfashion -- 发布时间:2017/6/30 23:16:00 -- 老师: 不是改字体,是随窗口大小改动? 控件随窗口扩大了,字体还是那么小,很不配,难看,请老师指教!!! 谢谢!
[此贴子已经被作者于2017/6/30 23:17:18编辑过]
|
-- 作者:有点蓝 -- 发布时间:2017/7/1 10:47:00 -- 做不了的。字体是一维的,只能整体设置大小,不能只设置高度或者宽度。但是窗口是可以设置其中一种的,所以没有办法协调。非常容易失真 If e.Form.Width > 0 AndAlso e.Form.Height > 0 Then e.Form.StopRedraw For Each c As Winform.Control In e.Form.Controls c.Left = c.Left * (e.Form.Width / vars("width")) c.Top = c.Top * (e.Form.Height / vars("height")) c.Width = c.Width * (e.Form.Width / vars("width")) c.Height = c.Height * (e.Form.Height / vars("height")) Dim s As Double = val(c.Font.Size) Dim fnt As Font = new Font(c.Font.Name,s * e.Form.Width / vars("width")) c.Font = fnt Next \'msgbox(e.Form.Height / vars("height")) vars("width") = e.Form.width vars("height") = e.Form.height e.Form.ResumeRedraw End If |
-- 作者:jackyfashion -- 发布时间:2017/7/1 21:32:00 -- 谢谢老师!!! |