v2rayN-3.29-VLESS 显示窗口大于屏幕的问题

问题

在DPI开比较高的1080p屏幕上, 设置VLESS的窗口不显示不全.

v2rayN的VLESS服务器窗口在1080p屏幕上显示不全


解决过程

找到窗口的 Load 函数, 添加一段设置窗口尺寸不大于屏幕尺寸.

AddVLESSServerForm_Load里红框标出限制窗口尺寸的代码

修改后跑起来, 发现有些窗口的部分内容被 遮挡了.

修改后VLESS服务器窗口部分内容被遮挡,传输协议为tcp

找到 VLESS 窗口, 查看设计器.

解决方案资源管理器中右键AddVLESSServerForm.cs,高亮查看设计器

去调整了一下界面元素设计, 然后发现运行出现的样子和IDE里面修改的样子不一样.

IDE里面改成了这样

IDE设计器中的VMess服务器窗口,调整后的布局

但是, 运行出来界面却是这个样子. 明显有些元素的尺寸和位置都改变了.

运行后的VMess窗口,元素尺寸与位置都与设计器不一致

找了好多资料, 问了很多GPT, 一直不得法.

在整个工程里面搜索一下 位置变化了的元素的名称 比如 cmbSecurity

VMess服务器窗口里加密方式下拉框对应控件cmbSecurity

查找全部对话框,输入cmbSecurity、范围为整个解决方案

再搜索一下位置不变的元素的名称 比如 txtAlterId

VMess服务器窗口里AlterId文本框对应控件txtAlterId

发现, 位置有变化的界面元素, 在中文的资源文件中对 Location 有定义. 而位置不变化的界面元素没有.

搜索结果显示cmbSecurity.Location定义,红框标出

把这些中文资源文件中的 Location 定义删除了, 顺手还把资源文件中对非Label类元素的Size的定义也删除了.

之后 中英文界面的显示一致了.


发布

评论