1.打开Visual Studio新建一个WPF应用,新建一个页面,如下图:
2.MainWindow界面(触发锁屏),如下图:
(1)MainWindow.xaml 代码如下:
<Window x:Class="Aock.MainWindow"
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:local="clr-namespace:Aock"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid>
<Button Content="锁屏" HorizontalAlignment="Left" Margin="328,163,0,0" VerticalAlignment="Top" Width="168" Click="Button1_Click" Height="73" FontSize="24" Background="#FF98CC8B" BorderBrush="#FFAE3D3D" Foreground="#FFA54242"/>
</Grid>
</Window>
(2)MainWindow.xaml.cs 代码如下:
using System;
using System.Collections.Generic;
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.Navigation;
using System.Windows.Shapes;
namespace Aock
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
Window1 Window1 = new Window1();
public MainWindow()
{
InitializeComponent();
Window1.Visibility = Visibility.Hidden;
}
private void Button1_Click(object sender, RoutedEventArgs e)
{
Window1.Visibility = Visibility.Visible;
}
}
}
3.Window1界面(触发解锁,本例子设定密码为1234),如下图:
(1)Window1.xaml,代码如下
<Window x:Class="Aock.Window1"
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:local="clr-namespace:Aock"
mc:Ignorable="d"
Title="Window1" Height="250" Width="400" Background="#FFE47777">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80*"/>
<ColumnDefinition Width="51*"/>
</Grid.ColumnDefinitions>
<Button Content="解锁" HorizontalAlignment="Center" Margin="185,128,143.333,72.667" VerticalAlignment="Center" Width="65" Click="Button3_Click" IsDefault="True" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Grid.ColumnSpan="2"/>
<PasswordBox x:Name="PasswordBox" HorizontalAlignment="Center" PasswordChar=" * " Margin="138,84,121.333,110.667" VerticalAlignment="Center" Grid.ColumnSpan="2" Width="134" Height="26" VerticalContentAlignment="Center" HorizontalContentAlignment="Center"/>
</Grid>
</Window>
(2)Window1.xaml.cs,代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
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 Aock
{
/// <summary>
/// Window1.xaml 的交互逻辑
/// </summary>
public partial class Window1 : Window
{
private void Button3_Click(object sender, RoutedEventArgs e)
{
PasswordBox.Password.Trim();//清除密码文本框内容
string password = PasswordBox.Password;
if (PasswordBox.Password == "")
{
MessageBox.Show("Please enter a password!");
}
else
{
if ("1234".Equals(password))
{
PasswordBox.Password = "";//每次判断密码是否正确完成后清空文本框
this.Close();
}
else
{
PasswordBox.Password = "";
MessageBox.Show("error");
}
}
}
public Window1()
{
InitializeComponent();
//变成无边窗体
this.WindowState = WindowState.Normal;//假如已经是Maximized,就不能进入全屏,所以这里先调整状态
this.WindowStyle = WindowStyle.None;
this.ResizeMode = ResizeMode.NoResize;
// 调整窗口最大化。
this.WindowState = WindowState.Maximized;
}
//重写Close()方法
protected override void OnClosing(CancelEventArgs e)
{
e.Cancel = true; // cancels the window close
this.Hide(); // Programmatically hides the window
}
}
}
4.可以直接运行啦。
作者:freesheep720