vb.net - 如何确定以缇为单位的控件大小?
问题描述
我正在 MS Visual Studio 2019(社区版)中开发 VB.net 应用程序,在该应用程序中,我以编程方式将剪贴板中的图像粘贴到 Richtextbox 中。
我需要添加一个选项来强制该图像完全填充控件的可见区域。
检查粘贴图像产生的富文本,然后在我手动拖动图像以调整其大小以填充控件后再次检查,看起来我需要做的就是将图像的 picwgoal 和 pichgoal rtf 标签更改为控件的维度。
问题是 picwgoal 和 pichgoal 以缇为单位。
所以我的问题是:是否有一种可靠的方法可以根据控件的像素宽度和高度动态计算控件的尺寸(以缇为单位),以便当应用程序以各种分辨率/缩放运行时它可以工作?
我了解 TwipsPerPixelX 方法已过时且与 64 位进程不兼容。
提前致谢。
解决方案
..认为我自己解决了
..认为我自己解决了
假设一个点总是 1/72 英寸,一个点是 20 缇。
Dim g = Me.CreateGraphics()
Dim RTBxTwips = (RTB.Width * 72 / g.DpiX) * 20
Dim RTByTwips = (RTB.Height * 72 / g.DpiY) * 20
g.Dispose()
..似乎给出的结果等于调整到控件可见区域的图像的 picwgoal 和 pichgoal 标记
推荐阅读
- php - 获取数组 Laravel ->first(); 错误 json_decode() 需要参数
- clang - 如何从 llvm IR 中的加载指令中获取操作数名称?
- python - 在 pandas 数据框中创建一个新列,执行条件方程来判断值是正数还是负数
- sharepoint-online - 在 SharePoint Online 中隐藏“同步”按钮,但允许“添加 OneDrive 的快捷方式”
- file - 无法在代码点火器中加载文件类
- scala - 在 CLI 中将 Scala 3 设为默认
- c# - CsvHelper - 缓慢填充数据表(ish)
- html - 在引导程序中居中表单不起作用
- r - R/Shiny - 将复选框标签转移到功能字段
- autodesk - EAGLE:是否可以使用“print-inductor.ulp”文件创建 90 度轨迹转弯?