6.4 KiB
6.4 KiB
设计文档:UI缩放增强
概述
本设计文档描述了如何改善Navisworks插件在4K高分辨率显示器上的用户界面显示效果。根据用户反馈,插件在2K显示器上显示正常,但在4K显示器上(使用150%缩放,实际显示为2560*1440)显示过小,导致按钮中的文字显示不全、组件高度不足等问题。模型分层拆分工具的弹出对话框在4K显示器上已经能够正常显示,因此本设计将参考该实现来调整MainPlugin中的按钮尺寸、分组区域高度和主窗口大小。
设计方案
本设计采用最简单直接的方案,只调整MainPlugin中的按钮尺寸、分组区域高度和主窗口大小,不修改其他任何代码。主要调整内容包括:
- 增加主窗口尺寸:参考ModelSplitterDialog的尺寸,适当增加MainPlugin主窗口的宽度和高度。
- 调整按钮尺寸:参考ModelSplitterDialog中的按钮尺寸,增加MainPlugin中所有按钮的宽度和高度。
- 调整分组区域高度:增加GroupBox的高度,确保能容纳调整后的按钮并有合理间距。
- 增加路径列表和表格高度:特别增加路径编辑标签页中的路径列表和当前路径编辑表格的高度,使其能容纳的行数从3行增加到4行。
参考ModelSplitterDialog的实现
通过分析ModelSplitterDialog.cs,我们发现以下关键设置:
// 窗口大小设置
this.Size = new Size(800, 720);
// 按钮大小设置
Size = new Size(100, 30) // 主要按钮
Size = new Size(80, 30) // 次要按钮
// GroupBox高度设置
Size = new Size(350, 160) // 较大的分组区域
Size = new Size(350, 80) // 较小的分组区域
具体实现方案
1. 主窗口尺寸调整
将MainPlugin中的主窗口从当前尺寸调整为更大的尺寸:
// 原始尺寸
_controlPanelForm = new Form
{
Text = "物流路径规划控制面板",
Size = new Size(420, 700),
// 其他属性...
};
// 调整后的尺寸
_controlPanelForm = new Form
{
Text = "物流路径规划控制面板",
Size = new Size(500, 820), // 增加宽度和高度,以容纳更大的路径列表和表格
// 其他属性...
};
2. 按钮尺寸调整
增加MainPlugin中所有按钮的宽度和高度,参考ModelSplitterDialog中的按钮尺寸:
// 原始按钮尺寸
Button button = new Button
{
Text = "按钮文本",
Size = new Size(60, 25),
// 其他属性...
};
// 调整后的按钮尺寸 - 主要按钮
Button mainButton = new Button
{
Text = "主要按钮",
Size = new Size(100, 30), // 参考ModelSplitterDialog的主要按钮尺寸
// 其他属性...
};
// 调整后的按钮尺寸 - 次要按钮
Button secondaryButton = new Button
{
Text = "次要按钮",
Size = new Size(80, 30), // 参考ModelSplitterDialog的次要按钮尺寸
// 其他属性...
};
3. 分组区域高度调整
增加GroupBox的高度,确保能容纳调整后的按钮并有合理间距:
// 原始GroupBox尺寸
GroupBox groupBox = new GroupBox
{
Text = "分组标题",
Size = new Size(350, 70), // 或其他高度
// 其他属性...
};
// 调整后的GroupBox尺寸
GroupBox groupBox = new GroupBox
{
Text = "分组标题",
Size = new Size(350, 90), // 增加高度,确保有足够空间容纳更大的按钮
// 其他属性...
};
4. 路径列表和表格高度调整
特别增加路径编辑标签页中的路径列表和当前路径编辑表格的高度:
// 原始路径列表尺寸
_pathListView = new ListView
{
// 其他属性...
Size = new Size(350, 100), // 假设原始高度为100
};
// 调整后的路径列表尺寸
_pathListView = new ListView
{
// 其他属性...
Size = new Size(350, 140), // 增加高度,使其能容纳4行
};
// 原始路径点列表尺寸
_currentPathPointsListView = new ListView
{
// 其他属性...
Size = new Size(350, 100), // 假设原始高度为100
};
// 调整后的路径点列表尺寸
_currentPathPointsListView = new ListView
{
// 其他属性...
Size = new Size(350, 140), // 增加高度,使其能容纳4行
};
需要修改的位置
1. MainPlugin.cs中的ShowCategorySelectionDialog方法
修改主窗口尺寸:
_controlPanelForm = new Form
{
Text = "物流路径规划控制面板",
Size = new Size(500, 820), // 从(420, 700)调整为(500, 820)
// 其他属性保持不变...
};
2. 各个标签页中的分组区域和按钮
在以下方法中找到所有GroupBox和Button的Size属性,并进行调整:
- CreateModelSettingsTab
- CreatePathEditingTab
- CreateAnimationControlTab
- CreateSystemManagementTab
例如:
// 原始代码
GroupBox groupBox = new GroupBox
{
Text = "分组标题",
Size = new Size(350, 70),
// 其他属性...
};
Button button = new Button
{
Text = "按钮文本",
Size = new Size(60, 25),
// 其他属性...
};
// 修改为
GroupBox groupBox = new GroupBox
{
Text = "分组标题",
Size = new Size(350, 90), // 增加高度
// 其他属性保持不变...
};
Button button = new Button
{
Text = "按钮文本",
Size = new Size(100, 30), // 或 Size = new Size(80, 30),根据按钮重要性
// 其他属性保持不变...
};
3. 路径编辑标签页中的列表
特别关注CreatePathEditingTab方法中的路径列表和当前路径编辑表格:
// 找到路径列表和当前路径编辑表格的定义
_pathListView.Size = new Size(350, 140); // 增加高度
_currentPathPointsListView.Size = new Size(350, 140); // 增加高度
// 同时调整包含这些列表的GroupBox高度
pathListGroupBox.Size = new Size(350, 200); // 从160增加到200
currentPathGroupBox.Size = new Size(350, 290); // 从250增加到290
实现注意事项
- 只修改尺寸数据:只调整窗口、分组区域、列表和按钮的Size属性,不修改其他任何代码。
- 保持一致性:确保所有按钮的调整保持一致,主要按钮使用(100, 30),次要按钮使用(80, 30)。
- 合理间距:确保增加GroupBox高度后,内部控件有足够的间距,不会显得拥挤。
- 路径列表特别关注:确保路径列表和当前路径编辑表格能容纳4行数据,提高用户体验。
- 最小化修改:只针对MainPlugin.cs文件进行修改,不涉及其他文件。