优化菜单关闭逻辑

This commit is contained in:
ZouJin 2023-04-04 19:32:53 +10:00
parent 33c5429a2d
commit 43685d6e8e
4 changed files with 22 additions and 19 deletions

View File

@ -64,15 +64,17 @@ namespace VPet_Simulator.Core
var ig = Core.Graph.FindGraph(GraphCore.GraphType.StartUP, core.Save.Mode); var ig = Core.Graph.FindGraph(GraphCore.GraphType.StartUP, core.Save.Mode);
//var ig2 = Core.Graph.FindGraph(GraphCore.GraphType.Default, core.Save.Mode); //var ig2 = Core.Graph.FindGraph(GraphCore.GraphType.Default, core.Save.Mode);
PetGrid2.Visibility = Visibility.Collapsed; PetGrid2.Visibility = Visibility.Collapsed;
ig.WaitForReadyRun(PetGrid,()=> { ig.WaitForReadyRun(PetGrid, () =>
Dispatcher.Invoke(() => { {
Dispatcher.Invoke(() =>
{
PetGrid.Tag = ig; PetGrid.Tag = ig;
PetGrid2.Tag = ig; PetGrid2.Tag = ig;
}); });
DisplayNomal(); DisplayNomal();
}); });
EventTimer.Elapsed += EventTimer_Elapsed; EventTimer.Elapsed += EventTimer_Elapsed;
@ -96,11 +98,12 @@ namespace VPet_Simulator.Core
private void MoveTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) private void MoveTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{ {
string str = DisplayType.ToString(); string str = DisplayType.ToString();
Core.Controller.MoveWindows(MoveTimerPoint.X, MoveTimerPoint.Y); if (MoveTimer.Enabled == false || (!str.Contains("Left") && !str.Contains("Right")))
if (!str.Contains("Left") && !str.Contains("Right"))
{ {
MoveTimer.Enabled = false; MoveTimer.Enabled = false;
return;
} }
Core.Controller.MoveWindows(MoveTimerPoint.X, MoveTimerPoint.Y);
} }
public Action DefaultClickAction; public Action DefaultClickAction;
bool isPress = false; bool isPress = false;

View File

@ -223,7 +223,7 @@ namespace VPet_Simulator.Core
} }
else else
{ {
SmartMoveTimer.Enabled = false; ; SmartMoveTimer.Enabled = false;
SmartMove = false; SmartMove = false;
} }
} }

View File

@ -104,14 +104,14 @@ namespace VPet_Simulator.Core
this.sayType = sayType; this.sayType = sayType;
} }
private void Border_MouseEnter(object sender, MouseEventArgs e) public void Border_MouseEnter(object sender, MouseEventArgs e)
{ {
EndTimer.Stop(); EndTimer.Stop();
CloseTimer.Stop(); CloseTimer.Stop();
this.Opacity = .8; this.Opacity = .8;
} }
private void Border_MouseLeave(object sender, MouseEventArgs e) public void Border_MouseLeave(object sender, MouseEventArgs e)
{ {
if (!ShowTimer.Enabled) if (!ShowTimer.Enabled)
EndTimer.Start(); EndTimer.Start();

View File

@ -25,7 +25,7 @@ namespace VPet_Simulator.Core
public partial class ToolBar : UserControl, IDisposable public partial class ToolBar : UserControl, IDisposable
{ {
Main m; Main m;
Timer closetimer; public Timer CloseTimer;
bool onFocus = false; bool onFocus = false;
Timer closePanelTimer; Timer closePanelTimer;
@ -33,13 +33,13 @@ namespace VPet_Simulator.Core
{ {
InitializeComponent(); InitializeComponent();
this.m = m; this.m = m;
closetimer = new Timer() CloseTimer = new Timer()
{ {
Interval = 4000, Interval = 4000,
AutoReset = false, AutoReset = false,
Enabled = false Enabled = false
}; };
closetimer.Elapsed += Closetimer_Elapsed; CloseTimer.Elapsed += Closetimer_Elapsed;
closePanelTimer = new Timer(); closePanelTimer = new Timer();
closePanelTimer.Elapsed += ClosePanelTimer_Tick; closePanelTimer.Elapsed += ClosePanelTimer_Tick;
m.TimeUIHandle += M_TimeUIHandle; m.TimeUIHandle += M_TimeUIHandle;
@ -93,7 +93,7 @@ namespace VPet_Simulator.Core
if (onFocus) if (onFocus)
{ {
onFocus = false; onFocus = false;
closetimer.Start(); CloseTimer.Start();
} }
else else
Dispatcher.Invoke(() => this.Visibility = Visibility.Collapsed); Dispatcher.Invoke(() => this.Visibility = Visibility.Collapsed);
@ -107,20 +107,20 @@ namespace VPet_Simulator.Core
m.UIGrid.Children.Add(this); m.UIGrid.Children.Add(this);
} }
Visibility = Visibility.Visible; Visibility = Visibility.Visible;
if (closetimer.Enabled) if (CloseTimer.Enabled)
onFocus = true; onFocus = true;
else else
closetimer.Start(); CloseTimer.Start();
} }
private void UserControl_MouseEnter(object sender, MouseEventArgs e) private void UserControl_MouseEnter(object sender, MouseEventArgs e)
{ {
closetimer.Stop(); CloseTimer.Enabled = false;
} }
private void UserControl_MouseLeave(object sender, MouseEventArgs e) private void UserControl_MouseLeave(object sender, MouseEventArgs e)
{ {
closetimer.Start(); CloseTimer.Start();
} }
private void MenuPanel_Click(object sender, RoutedEventArgs e) private void MenuPanel_Click(object sender, RoutedEventArgs e)
@ -255,7 +255,7 @@ namespace VPet_Simulator.Core
public void Dispose() public void Dispose()
{ {
m = null; m = null;
closetimer.Dispose(); CloseTimer.Dispose();
closePanelTimer.Dispose(); closePanelTimer.Dispose();
} }