瀏覽代碼

解決顯卡問題

Robert 3 年之前
父節點
當前提交
92354e5d1c
共有 3 個文件被更改,包括 74 次插入48 次删除
  1. 5 2
      Bellwether/MainWindow.xaml
  2. 14 4
      Bellwether/Pages/ucFrontPage.xaml
  3. 55 42
      Bellwether/Pages/ucFrontPage.xaml.cs

+ 5 - 2
Bellwether/MainWindow.xaml

@@ -5,10 +5,13 @@
     xmlns:local="clr-namespace:Bellwether"
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
     Title="MainWindow"
+    Width="5760"
+    Height="1080"
     d:DesignHeight="1080"
-    d:DesignWidth="1920"
+    d:DesignWidth="5760"
+    ResizeMode="NoResize"
     Stylus.IsPressAndHoldEnabled="False"
-    WindowState="Maximized"
+    WindowStartupLocation="CenterScreen"
     WindowStyle="None"
     mc:Ignorable="d"
     x:Class="Bellwether.MainWindow">

+ 14 - 4
Bellwether/Pages/ucFrontPage.xaml

@@ -286,6 +286,7 @@
                     FontFamily="Microsoft JhengHei UI"
                     Spaceing="-10" />
                 <uicomponent:SpacedLabel
+                    Width="200"
                     Margin="182,0,0,529"
                     HorizontalAlignment="Left"
                     VerticalAlignment="Bottom"
@@ -311,6 +312,7 @@
                     Spaceing="-12" />
 
                 <uicomponent:SpacedLabel
+                    Width="200"
                     Margin="1040,0,0,482"
                     HorizontalAlignment="Left"
                     VerticalAlignment="Bottom"
@@ -701,8 +703,8 @@
                     HorizontalAlignment="Left"
                     VerticalAlignment="Top"
                     Background="Transparent"
-                    MouseUp="HiddeenButton_Click"
-                    Tag="0" />
+                    Tag="0"
+                    TouchDown="HiddenButton_TouchDown" />
                 <Grid
                     Width="100"
                     Height="100"
@@ -710,9 +712,17 @@
                     HorizontalAlignment="Left"
                     VerticalAlignment="Top"
                     Background="Transparent"
-                    MouseUp="HiddeenButton_Click"
-                    Tag="1" />
+                    Tag="1"
+                    TouchDown="HiddenButton_TouchDown" />
             </Grid>
+            <Grid
+                Width="100"
+                Height="100"
+                HorizontalAlignment="Right"
+                VerticalAlignment="Top"
+                Background="Transparent"
+                Tag="0"
+                TouchDown="HiddenButton2_TouchDown" />
         </Grid>
     </UserControl.Content>
 </UserControl>

+ 55 - 42
Bellwether/Pages/ucFrontPage.xaml.cs

@@ -205,73 +205,86 @@ namespace Bellwether.Pages
         }
 
         int hiddenStage = 0;
-        private void HiddeenButton_Click(object sender, MouseButtonEventArgs e)
+        Timer hiddenStageTimer;
+        private void HiddenButton_TouchDown(object sender, RoutedEventArgs e)
         {
-            if(!(sender is Grid grid))
+            TryInitTimer();
+            //var touchPoints = e.GetIntermediateTouchPoints(this);
+
+            hiddenStage++;
+            if (hiddenStage == 1)
             {
-                return;
+                hiddenStageTimer.Start();
             }
-            var tag = grid.Tag as string;
-            if (string.IsNullOrEmpty(tag))
+            if (hiddenStage == 2)
             {
+                hiddenStageTimer.Stop();
                 hiddenStage = 0;
-                return;
+                ExecuteExternal();
             }
 
-            if (hiddenStage == 0)
-            {
-                if (tag == "0")
-                {
-                    hiddenStage++;
-                }
-                else
-                {
-                    hiddenStage = 0;
-                }
-            }
-            else if (hiddenStage == 1)
+            void TryInitTimer()
             {
-                if (tag == "0")
+                if (hiddenStageTimer != null)
                 {
-                    hiddenStage++;
+                    return;
                 }
-                else
-                {
+
+                hiddenStageTimer = new Timer() { Interval = 100 };
+                hiddenStageTimer.Elapsed += (sender2, e2) => {
                     hiddenStage = 0;
-                }
+                    hiddenStageTimer.Stop();
+                };
             }
-            else if(hiddenStage == 2)
+
+            async void ExecuteExternal()
             {
-                if (tag == "1")
+                uxMediaViewer.Stop();
+                await Task.Delay(100);
+                try
                 {
-                    hiddenStage = 0;
-                    ExecuteExternal();
+                    var p = Process.Start(Properties.Settings.Default.Screensaver);
+                    p.WaitForExit();
                 }
-                else
+                catch (Exception e2)
                 {
-                    hiddenStage = 0;
+                    MessageBox.Show("螢幕保護程式啟動失敗,請確認程式存在且路徑非C:\\Windows\\System32");
                 }
-            }
-            else
-            {
-                hiddenStage = 0;
+                uxMediaViewer.Play();
             }
         }
 
-        private async void ExecuteExternal()
+        int hiddenStage2 = 0;
+        Timer hiddenStage2Timer;
+        private void HiddenButton2_TouchDown(object sender, RoutedEventArgs e)
         {
-            uxMediaViewer.Stop();
-            await Task.Delay(100);
-            try
+            TryInitTimer();
+
+            hiddenStage2++;
+            if (hiddenStage2 == 1)
+            {
+                hiddenStage2Timer.Start();
+            }
+            if (hiddenStage2 == 2)
             {
-                var p = Process.Start(Properties.Settings.Default.Screensaver);
-                p.WaitForExit();
+                hiddenStage2Timer.Stop();
+                hiddenStage2 = 0;
+                Application.Current.Shutdown();
             }
-            catch(Exception e)
+
+            void TryInitTimer()
             {
-                MessageBox.Show("螢幕保護程式啟動失敗,請確認程式存在且路徑非C:\\Windows\\System32");
+                if (hiddenStage2Timer != null)
+                {
+                    return;
+                }
+
+                hiddenStage2Timer = new Timer() { Interval = 100 };
+                hiddenStage2Timer.Elapsed += (sender2, e2) => {
+                    hiddenStage2 = 0;
+                    hiddenStage2Timer.Stop();
+                };
             }
-            uxMediaViewer.Play();
         }
     }