refactor: 插件 UI 从 WinForms 迁移到 CycleGUI,并修复代码质量问题
将 StandardScene 各插件的配置/监控窗体从 WinForms 迁移到 CycleGUI(删除 .Designer.cs/.resx,重写为 PanelBuilder 立即模式 UI,新增 CycleUiHelper 统一对话框)。 同时修复代码审核中的问题: - 后台文件写入加锁 + try/catch(ButtonBoxManager / DoorManager,对齐 LoopViewer.SaveTasks 模式) - CoderFieldsMetadata.cs 启用 #nullable enable,消除 CS8632 警告 - DummyCar 移除已废弃的 rightClickAction()/SetPosition() - CarRemoteHelper.OpenVehicleWebPage 的 Process.Start 加 try/catch - 重命名名不副实的 Mstsc()(现为打开网页) - 统一弃元命名为 _ - TrafficInterlockViewer 改用稳定 Id(GUID)做选择/编辑,替代行索引 - csproj 改用 $(CGUILibDir) 解析 CycleGUI,绝对路径收敛到 Directory.Build.props 构建:dotnet build StandardScene.sln → 0 错误,30 警告(均为历史遗留)。 注:static 单例状态重构(审核第 8 项)暂未处理,留待单独任务。
This commit is contained in:
@@ -6,7 +6,6 @@ using System.Reflection;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using LessokajiWeaverUtilities.MagicAttributes;
|
||||
using LessokajiWeaverUtilities.Utilities;
|
||||
using SimpleLite;
|
||||
@@ -768,39 +767,8 @@ namespace StandardScene.ExtendDevice.ButtonBox
|
||||
[I18N.DocumentTranslation(Name = "Open Manager", locale = "en")]
|
||||
public static void OpenViewer()
|
||||
{
|
||||
try
|
||||
{
|
||||
var manager = ButtonBoxManager.Instance;
|
||||
|
||||
// 确保窗体没有被销毁
|
||||
if (manager.IsDisposed)
|
||||
{
|
||||
// 如果窗体被销毁,单例会自动重新创建
|
||||
manager = ButtonBoxManager.Instance;
|
||||
}
|
||||
|
||||
if (manager.Visible)
|
||||
{
|
||||
// 如果界面已经可见,将其激活并置于最前
|
||||
if (manager.WindowState == FormWindowState.Minimized)
|
||||
{
|
||||
manager.WindowState = FormWindowState.Normal;
|
||||
}
|
||||
manager.Activate();
|
||||
manager.BringToFront();
|
||||
}
|
||||
else
|
||||
{
|
||||
// 如果界面不可见,显示它
|
||||
manager.Show();
|
||||
manager.Activate();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show($"打开按钮盒管理界面失败: {ex.Message}", "错误",
|
||||
MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
try { ButtonBoxManager.Open(); }
|
||||
catch (Exception ex) { CycleUiHelper.Alert("错误", $"打开按钮盒管理界面失败: {ex.Message}"); }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user