Foxtable(狐表)用户栏目专家坐堂 → 求助 窗口Font.Size随窗口同时放缩


  共有2305人关注过本帖树形打印复制链接

主题:求助 窗口Font.Size随窗口同时放缩

帅哥哟,离线,有人找我吗?
jackyfashion
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:668 积分:5190 威望:0 精华:0 注册:2013/10/7 22:27:00
求助 窗口Font.Size随窗口同时放缩  发帖心情 Post By:2017/6/30 22:02:00 [只看该作者]

老师:
您好!
以下代码
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
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:668 积分:5190 威望:0 精华:0 注册:2013/10/7 22:27:00
  发帖心情 Post By:2017/6/30 22:29:00 [只看该作者]


[此贴子已经被作者于2017/6/30 22:35:05编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/6/30 22:46:00 [只看该作者]

不建议使用这个用法改字体,麻烦而不切实际

 回到顶部
帅哥哟,离线,有人找我吗?
jackyfashion
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:668 积分:5190 威望:0 精华:0 注册:2013/10/7 22:27:00
  发帖心情 Post By:2017/6/30 23:16:00 [只看该作者]

老师:
不是改字体,是随窗口大小改动?
控件随窗口扩大了,字体还是那么小,很不配,难看,请老师指教!!!
谢谢!
[此贴子已经被作者于2017/6/30 23:17:18编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:668 积分:5190 威望:0 精华:0 注册:2013/10/7 22:27:00
  发帖心情 Post By:2017/7/1 21:32:00 [只看该作者]

谢谢老师!!!

 回到顶部