Add Rand (Choujiang)

This commit is contained in:
XY Wang 2021-10-28 00:48:33 +08:00
parent 7f80be8755
commit a05c3e4b23
5 changed files with 193 additions and 2 deletions

View File

@ -91,6 +91,9 @@
<Compile Include="CycleProcessBar.xaml.cs"> <Compile Include="CycleProcessBar.xaml.cs">
<DependentUpon>CycleProcessBar.xaml</DependentUpon> <DependentUpon>CycleProcessBar.xaml</DependentUpon>
</Compile> </Compile>
<Compile Include="RandWindow.xaml.cs">
<DependentUpon>RandWindow.xaml</DependentUpon>
</Compile>
<Compile Include="RestoreHiddenSlidesWindow.xaml.cs"> <Compile Include="RestoreHiddenSlidesWindow.xaml.cs">
<DependentUpon>RestoreHiddenSlidesWindow.xaml</DependentUpon> <DependentUpon>RestoreHiddenSlidesWindow.xaml</DependentUpon>
</Compile> </Compile>
@ -125,6 +128,10 @@
<DependentUpon>MainWindow.xaml</DependentUpon> <DependentUpon>MainWindow.xaml</DependentUpon>
<SubType>Code</SubType> <SubType>Code</SubType>
</Compile> </Compile>
<Page Include="RandWindow.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="RestoreHiddenSlidesWindow.xaml"> <Page Include="RestoreHiddenSlidesWindow.xaml">
<SubType>Designer</SubType> <SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator> <Generator>MSBuild:Compile</Generator>

View File

@ -170,11 +170,24 @@
<ui:SimpleStackPanel Spacing="12"> <ui:SimpleStackPanel Spacing="12">
<ui:ToggleSwitch Name="ToggleSwitchTransparentButtonBackground" Header="按钮背景半透明" IsOn="True" FontFamily="Microsoft YaHei UI" OnContent="开" OffContent="关" Toggled="ToggleSwitchTransparentButtonBackground_Toggled"/> <ui:ToggleSwitch Name="ToggleSwitchTransparentButtonBackground" Header="按钮背景半透明" IsOn="True" FontFamily="Microsoft YaHei UI" OnContent="开" OffContent="关" Toggled="ToggleSwitchTransparentButtonBackground_Toggled"/>
<ui:ToggleSwitch Name="ToggleSwitchShowButtonExit" Header="显示“退出”按钮" IsOn="True" FontFamily="Microsoft YaHei UI" OnContent="开" OffContent="关" Toggled="ToggleSwitchShowButtonExit_Toggled"/> <ui:ToggleSwitch Name="ToggleSwitchShowButtonExit" Header="显示“退出”按钮" IsOn="True" FontFamily="Microsoft YaHei UI" OnContent="开" OffContent="关" Toggled="ToggleSwitchShowButtonExit_Toggled"/>
<Button Content="立即退出" Width="120" FontFamily="Microsoft YaHei UI" Click="BtnExit_Click" Margin="0,0,0,10"/> <Button Content="立即退出" Width="120" Visibility="Collapsed" FontFamily="Microsoft YaHei UI" Click="BtnExit_Click" Margin="0,0,0,10"/>
<ui:ToggleSwitch Name="ToggleSwitchShowButtonEraser" Header="显示“橡皮”按钮" IsOn="True" FontFamily="Microsoft YaHei UI" OnContent="开" OffContent="关" Toggled="ToggleSwitchShowButtonEraser_Toggled"/> <ui:ToggleSwitch Name="ToggleSwitchShowButtonEraser" Header="显示“橡皮”按钮" IsOn="True" FontFamily="Microsoft YaHei UI" OnContent="开" OffContent="关" Toggled="ToggleSwitchShowButtonEraser_Toggled"/>
<ui:ToggleSwitch Name="ToggleSwitchShowButtonHideControl" Header="显示“⇅ (显示或隐藏控制按钮)”按钮" IsOn="False" FontFamily="Microsoft YaHei UI" OnContent="开" OffContent="关" Toggled="ToggleSwitchShowButtonHideControl_Toggled"/> <ui:ToggleSwitch Name="ToggleSwitchShowButtonHideControl" Header="显示“⇅ (显示或隐藏控制按钮)”按钮" IsOn="False" FontFamily="Microsoft YaHei UI" OnContent="开" OffContent="关" Toggled="ToggleSwitchShowButtonHideControl_Toggled"/>
<ui:ToggleSwitch Name="ToggleSwitchShowButtonLRSwitch" Header="显示“⇆ (左右切换)”按钮" IsOn="False" FontFamily="Microsoft YaHei UI" OnContent="开" OffContent="关" Toggled="ToggleSwitchShowButtonLRSwitch_Toggled"/> <ui:ToggleSwitch Name="ToggleSwitchShowButtonLRSwitch" Header="显示“⇆ (左右切换)”按钮" IsOn="False" FontFamily="Microsoft YaHei UI" OnContent="开" OffContent="关" Toggled="ToggleSwitchShowButtonLRSwitch_Toggled"/>
<ui:ToggleSwitch Name="ToggleSwitchShowButtonModeFinger" Header="显示“手指模式”切换按钮" IsOn="True" FontFamily="Microsoft YaHei UI" OnContent="开" OffContent="关" Toggled="ToggleSwitchShowButtonModeFinger_Toggled"/> <ui:ToggleSwitch Name="ToggleSwitchShowButtonModeFinger" Header="显示“手指模式”切换按钮" IsOn="True" FontFamily="Microsoft YaHei UI" OnContent="开" OffContent="关" Toggled="ToggleSwitchShowButtonModeFinger_Toggled"/>
<StackPanel Visibility="Collapsed" Orientation="Horizontal">
<Slider x:Name="SideControlOpacitySlider"
HorizontalAlignment="Left"
Minimum="1" Maximum="100"
Width="320" FontFamily="Microsoft YaHei UI"
ui:ControlHelper.Header="控制栏透明度"
IsSnapToTickEnabled="True" Value="100"
TickFrequency="10" TickPlacement="Both"
ValueChanged="SideControlOpacitySlider_ValueChanged"/>
<TextBlock Text="{Binding Value, ElementName=SideControlOpacitySlider, Mode=OneWay}"
VerticalAlignment="Bottom" Margin="10,0,0,8"
FontSize="14" Width="25" HorizontalAlignment="Center"/>
</StackPanel>
</ui:SimpleStackPanel> </ui:SimpleStackPanel>
</GroupBox> </GroupBox>
<GroupBox Header="重置"> <GroupBox Header="重置">

View File

@ -1797,6 +1797,12 @@ namespace Ink_Canvas
#region Appearance #region Appearance
private void SideControlOpacitySlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
}
private void ToggleSwitchShowButtonExit_Toggled(object sender, RoutedEventArgs e) private void ToggleSwitchShowButtonExit_Toggled(object sender, RoutedEventArgs e)
{ {
if (!isLoaded) return; if (!isLoaded) return;
@ -3084,7 +3090,7 @@ namespace Ink_Canvas
private void BtnRand_Click(object sender, RoutedEventArgs e) private void BtnRand_Click(object sender, RoutedEventArgs e)
{ {
new RandWindow().ShowDialog();
} }
#endregion Tools #endregion Tools

View File

@ -0,0 +1,72 @@
<Window x:Class="Ink_Canvas.RandWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:ui="http://schemas.modernwpf.com/2019"
xmlns:local="clr-namespace:Ink_Canvas" FontFamily="Microsoft YaHei UI"
ui:ThemeManager.RequestedTheme="Light" Topmost="True" Background="Transparent"
mc:Ignorable="d" WindowStyle="None" AllowsTransparency="True" Loaded="Window_Loaded"
WindowStartupLocation="CenterScreen"
Title="抽奖 WPF by WXRIW (XY Wang)" Height="550" Width="900">
<Border Background="#F0F3F9" CornerRadius="10" BorderThickness="1" BorderBrush="#0066BF" Margin="0">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1.3*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Label Name="LabelOutput" FontSize="70" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<ui:SimpleStackPanel Spacing="50" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center">
<StackPanel Orientation="Horizontal">
<Border x:Name="BorderBtnMinus" MouseUp="BorderBtnMinus_MouseUp" Background="#FBFBFD" Height="70" Width="70" CornerRadius="100">
<Border.Effect>
<DropShadowEffect Direction="0" ShadowDepth="0" Opacity="0.15" BlurRadius="3"/>
</Border.Effect>
<Viewbox Margin="20">
<ui:SymbolIcon Symbol="Remove" Foreground="Black"/>
</Viewbox>
</Border>
<Label Name="LabelNumberCount" Content="1" FontFamily="Segeo UI" FontSize="50" Margin="30"/>
<Border x:Name="BorderBtnAdd" MouseUp="BorderBtnAdd_MouseUp" Background="#FBFBFD" Height="70" Width="70" CornerRadius="100">
<Border.Effect>
<DropShadowEffect Direction="0" ShadowDepth="0" Opacity="0.15" BlurRadius="3"/>
</Border.Effect>
<Viewbox Margin="20">
<ui:SymbolIcon Symbol="Add" Foreground="Black"/>
</Viewbox>
</Border>
</StackPanel>
<Border x:Name="BorderBtnRand" MouseUp="BorderBtnRand_MouseUp" Background="#0066BF"
Height="70" Width="200" CornerRadius="10">
<ui:SimpleStackPanel Margin="3,0" Spacing="20" Orientation="Horizontal" HorizontalAlignment="Center">
<Viewbox Margin="0,20">
<ui:SymbolIcon Name="SymbolIconStart" Symbol="People" Foreground="White"/>
</Viewbox>
<TextBlock Text="抽奖" Foreground="White" FontSize="35" Margin="-1,-1,4,0" VerticalAlignment="Center"/>
</ui:SimpleStackPanel>
</Border>
</ui:SimpleStackPanel>
<Border x:Name="BorderBtnHelp" MouseUp="BorderBtnHelp_MouseUp"
Background="#FBFBFD" Grid.Column="1"
Margin="10,10,60,10" Height="40" Width="40"
VerticalAlignment="Top" HorizontalAlignment="Right" CornerRadius="100">
<Border.Effect>
<DropShadowEffect Direction="0" ShadowDepth="0" Opacity="0.15" BlurRadius="3"/>
</Border.Effect>
<Viewbox Margin="13">
<ui:SymbolIcon Symbol="Help" Foreground="Black"/>
</Viewbox>
</Border>
<Border x:Name="BtnClose" MouseUp="BtnClose_MouseUp" HorizontalAlignment="Right" VerticalAlignment="Top"
Margin="10" Grid.Column="1"
Background="#E32A34" Height="40" Width="40" CornerRadius="100">
<Border.Effect>
<DropShadowEffect Direction="0" ShadowDepth="0" Opacity="0.1" BlurRadius="3"/>
</Border.Effect>
<Viewbox Margin="14">
<ui:SymbolIcon Symbol="Clear" Foreground="White"/>
</Viewbox>
</Border>
</Grid>
</Border>
</Window>

View File

@ -0,0 +1,93 @@
using ModernWpf.Controls;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
namespace Ink_Canvas
{
/// <summary>
/// Interaction logic for RandWindow.xaml
/// </summary>
public partial class RandWindow : Window
{
public RandWindow()
{
InitializeComponent();
}
public int TotalCount = 1;
public List<string> Names = new List<string>();
private void BorderBtnAdd_MouseUp(object sender, MouseButtonEventArgs e)
{
TotalCount++;
LabelNumberCount.Content = TotalCount.ToString();
}
private void BorderBtnMinus_MouseUp(object sender, MouseButtonEventArgs e)
{
if (TotalCount < 2) return;
TotalCount--;
LabelNumberCount.Content = TotalCount.ToString();
}
private void BorderBtnRand_MouseUp(object sender, MouseButtonEventArgs e)
{
Random random = new Random();
string outputString = "";
for (int i = 0; i < TotalCount; i++)
{
int maxN = 60;
if (Names.Count != 0)
{
maxN = Names.Count;
}
int rand = random.Next(1, maxN);
if (Names.Count != 0)
{
outputString += Names[rand] + Environment.NewLine;
}
else
{
outputString += rand.ToString() + Environment.NewLine;
}
}
LabelOutput.Content = outputString.ToString().Trim();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
if (File.Exists("Names.txt"))
{
string[] fileNames = File.ReadAllLines("Names.txt");
//Fix emtpy lines
foreach (string s in fileNames)
{
if (s != "") Names.Add(s);
}
}
}
private void BorderBtnHelp_MouseUp(object sender, MouseButtonEventArgs e)
{
MessageBox.Show("如需显示姓名,请在程序目录下新建 Names.txt并将姓名输入一行一个。");
}
private void BtnClose_MouseUp(object sender, MouseButtonEventArgs e)
{
Close();
}
}
}