Foxtable(狐表)用户栏目专家坐堂 → 自动报表如何设置自适应行高


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

主题:自动报表如何设置自适应行高

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/1/9 9:25:00 [显示全部帖子]

根据内容计算高度可以使用MeasureString,比如

Dim fnt As New Font("宋体",10)
Dim msg As String = "测试文字测试文字测试文字测试文字测试文字"
Dim gc = basemainform.CreateGraphics
Dim size = gc.MeasureString(msg, fnt, 50) ‘50是单元格的宽度
msgbox(size.height) ‘文字占用的高度

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


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/1/18 9:12:00 [显示全部帖子]

MeasureString计算出来的结果是像素,不是毫米


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


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/1/18 11:54:00 [显示全部帖子]

上传实例直接说明要什么效果

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


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/1/18 15:25:00 [显示全部帖子]

指定一下返回结果的单位

Dim fnt As New Font("宋体",10)
Dim msg As String = "测试文字测试文字测试文字测试文字测试文字"
Dim gc = basemainform.CreateGraphics
gc.PageUnit = GraphicsUnit.Millimeter
Dim size = gc.MeasureString(msg, fnt, 50) '50是单元格的宽度
msgbox(size.height) '文字占用的高度

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


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/1/18 16:07:00 [显示全部帖子]

dpi可以直接获取

Dim fnt As New Font("宋体",10)
Dim msg As String = "测试文字测试文字测试文字测试文字测试文字"
Dim gc = basemainform.CreateGraphics
msgbox("屏幕dpi=" & gc.DpiX)
Dim size = gc.MeasureString(msg, fnt, 50) '50是单元格的宽度,单位像素
msgbox(size.height / gc.DpiX * 25.4) '文字占用的高度,转换为毫米


 回到顶部