fix:窗口置顶异常

This commit is contained in:
PrefacedCorg
2026-04-17 13:14:23 +08:00
parent 7003bb8426
commit 231b850f74
5 changed files with 134 additions and 13 deletions
@@ -1215,7 +1215,9 @@ namespace Ink_Canvas
if (Settings.RandSettings.UseNewRollCallUI)
{
// 使用新点名UI - 随机抽模式
new NewStyleRollCallWindow(Settings, false).ShowDialog();
var rollCallWindow = new NewStyleRollCallWindow(Settings, false);
rollCallWindow.Owner = this;
rollCallWindow.ShowDialog();
}
else
{
@@ -1378,11 +1380,15 @@ namespace Ink_Canvas
// 调用失败时回退到相应的点名窗口
if (Settings.RandSettings.UseNewRollCallUI)
{
new NewStyleRollCallWindow(Settings, true).ShowDialog(); // 单次抽模式
var rollCallWindow = new NewStyleRollCallWindow(Settings, true); // 单次抽模式
rollCallWindow.Owner = this;
rollCallWindow.ShowDialog();
}
else
{
new RandWindow(Settings, true).ShowDialog();
var randWindow = new RandWindow(Settings, true);
randWindow.Owner = this;
randWindow.ShowDialog();
}
}
}
@@ -1392,12 +1398,16 @@ namespace Ink_Canvas
if (Settings.RandSettings.UseNewRollCallUI)
{
// 使用新点名UI - 单次抽模式
new NewStyleRollCallWindow(Settings, true).ShowDialog();
var rollCallWindow = new NewStyleRollCallWindow(Settings, true);
rollCallWindow.Owner = this;
rollCallWindow.ShowDialog();
}
else
{
// 使用默认的随机点名窗口
new RandWindow(Settings, true).ShowDialog();
var randWindow = new RandWindow(Settings, true);
randWindow.Owner = this;
randWindow.ShowDialog();
}
}
}
+36 -6
View File
@@ -1652,7 +1652,7 @@ namespace Ink_Canvas
if (int.TryParse(File.ReadAllText(positionFile), out var page) && page > 0)
{
_lastPlaybackPage = page;
new YesOrNoNotificationWindow($"上次播放到了第 {page} 页, 是否立即跳转", () =>
var yesNoWindow = new YesOrNoNotificationWindow($"上次播放到了第 {page} 页, 是否立即跳转", () =>
{
try
{
@@ -1674,7 +1674,17 @@ namespace Ink_Canvas
{
LogHelper.WriteLogToFile($"跳转到第{page}页失败: {ex}", LogHelper.LogType.Error);
}
}).ShowDialog();
});
yesNoWindow.Owner = this;
PauseTopmostMaintenance();
try
{
yesNoWindow.ShowDialog();
}
finally
{
ResumeTopmostMaintenance();
}
}
}
catch (Exception ex)
@@ -1716,7 +1726,7 @@ namespace Ink_Canvas
if (hasHiddenSlides && !IsShowingRestoreHiddenSlidesWindow)
{
IsShowingRestoreHiddenSlidesWindow = true;
new YesOrNoNotificationWindow("检测到此演示文档中包含隐藏的幻灯片,是否取消隐藏?",
var yesNoWindow = new YesOrNoNotificationWindow("检测到此演示文档中包含隐藏的幻灯片,是否取消隐藏?",
() =>
{
try
@@ -1740,7 +1750,17 @@ namespace Ink_Canvas
}
},
() => { IsShowingRestoreHiddenSlidesWindow = false; },
() => { IsShowingRestoreHiddenSlidesWindow = false; }).ShowDialog();
() => { IsShowingRestoreHiddenSlidesWindow = false; });
yesNoWindow.Owner = this;
PauseTopmostMaintenance();
try
{
yesNoWindow.ShowDialog();
}
finally
{
ResumeTopmostMaintenance();
}
}
}
catch (Exception ex)
@@ -1786,7 +1806,7 @@ namespace Ink_Canvas
if (hasSlideTimings && !IsShowingAutoplaySlidesWindow)
{
IsShowingAutoplaySlidesWindow = true;
new YesOrNoNotificationWindow("检测到此演示文档中自动播放或排练计时已经启用,可能导致幻灯片自动翻页,是否取消?",
var yesNoWindow = new YesOrNoNotificationWindow("检测到此演示文档中自动播放或排练计时已经启用,可能导致幻灯片自动翻页,是否取消?",
() =>
{
try
@@ -1806,7 +1826,17 @@ namespace Ink_Canvas
}
},
() => { IsShowingAutoplaySlidesWindow = false; },
() => { IsShowingAutoplaySlidesWindow = false; }).ShowDialog();
() => { IsShowingAutoplaySlidesWindow = false; });
yesNoWindow.Owner = this;
PauseTopmostMaintenance();
try
{
yesNoWindow.ShowDialog();
}
finally
{
ResumeTopmostMaintenance();
}
}
}
catch (Exception ex)