修复重复设置中间监听

This commit is contained in:
liufei
2022-01-07 20:01:11 +08:00
parent e9dbc3e5b9
commit 9f60f1be63
3 changed files with 8 additions and 9 deletions

View File

@@ -41,7 +41,7 @@
</hc:UniformSpacingPanel>
<hc:UniformSpacingPanel Spacing="10" Margin="10,5,0,0" Grid.ColumnSpan="4">
<CheckBox Content="鼠标中间呼出" Checked="MouseMiddle_Changed" Unchecked="MouseMiddle_Changed" IsChecked="{Binding MouseMiddleShow}">
<CheckBox Content="鼠标中间呼出" Click="MouseMiddle_Changed" IsChecked="{Binding MouseMiddleShow}">
<CheckBox.Background>
<LinearGradientBrush EndPoint="1,0" StartPoint="0,0">
<GradientStop Color="#FF9EA3A6"/>
@@ -61,7 +61,7 @@
</hc:UniformSpacingPanel>
<hc:UniformSpacingPanel Spacing="10" Margin="10,5,0,0" Grid.ColumnSpan="4">
<CheckBox Content="贴边隐藏" IsChecked="{Binding MarginHide}" Checked="MarginHide_Changed" Unchecked="MarginHide_Changed">
<CheckBox Content="贴边隐藏" IsChecked="{Binding MarginHide}" Click="MarginHide_Changed">
<CheckBox.Background>
<LinearGradientBrush EndPoint="1,0" StartPoint="0,0">
<GradientStop Color="#FF9EA3A6"/>
@@ -71,7 +71,7 @@
</hc:UniformSpacingPanel>
<hc:UniformSpacingPanel Spacing="10" Margin="10,5,0,0" Grid.ColumnSpan="4">
<CheckBox Content="主窗口动画效果" IsChecked="{Binding AppAnimation}" Checked="Animation_Checked">
<CheckBox Content="主窗口动画效果" IsChecked="{Binding AppAnimation}" Click="Animation_Checked">
<CheckBox.Background>
<LinearGradientBrush EndPoint="1,0" StartPoint="0,0">
<GradientStop Color="#FF9EA3A6"/>

View File

@@ -253,13 +253,10 @@ namespace GeekDesk.Control.UserControls.Config
{
if (appConfig.MarginHide)
{
MainWindow.hide.TimerSet();
MarginHide.StartHide();
} else
{
if (MainWindow.hide.timer != null)
{
MainWindow.hide.TimerStop();
}
MarginHide.StopHide();
}
}

View File

@@ -24,6 +24,7 @@ namespace GeekDesk.Thread
public static void MiddleHook()
{
//使用dispatcher来单独监听UI线程 防止程序卡顿
if (dispatcher != null) return;
dispatcher = DispatcherBuild.Build();
m_GlobalHook = Hook.GlobalEvents();
dispatcher.Invoke((Action)(() =>
@@ -38,6 +39,7 @@ namespace GeekDesk.Thread
{
m_GlobalHook.MouseDownExt -= M_GlobalHook_MouseDownExt;
m_GlobalHook.Dispose();
m_GlobalHook = null;
dispatcher.InvokeShutdown();
dispatcher = null;
}
@@ -60,7 +62,7 @@ namespace GeekDesk.Thread
{
if (MainWindow.mainWindow.Visibility == Visibility.Collapsed
|| MainWindow.mainWindow.Opacity == 0
|| MarginHide.isHide)
|| MarginHide.IS_HIDE)
{
MainWindow.ShowApp();
}