WPF养老保险系统登入界面

  • 前言
  • 思路
  • XAML部分代码
  • C#部分代码

前言

因 为数据库在做MVC版的养老保险系统时就已经做好了,所以这里直接用以前的,就不再重新做数据库了

言归正传,
因为MVC版的养老系统配色风格过于古老,所以这里我大胆的使用紫色为主的冷色调主题

首先是登入界面的前端实现好的样式

思路

使用的Grid布局,将这个窗体一分为二
然后再在Grid布局分割的两个区域内分别嵌套了一个border容器
这个容器主要的作用是为了实现窗体的圆角
因为退出登入的按钮位置已经放置了两个单选框
所以我就把左边整个紫色部分做成了退出登入按钮

注意: 要想让窗体没有窗体自带的哪些边框之类的
记得设置

WindowStyle=“None”
WindowStartupLocation=“CenterScreen”
Background=“Transparent”
AllowsTransparency=“True”

下面是XAML视图代码,
因为后台代码已经写了完整的注释了,所以这里就不在累述了

XAML部分代码

<Window x:Class="Wpf_TheOldAgeSystem.Login"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:Wpf_TheOldAgeSystem"mc:Ignorable="d"WindowStyle="None"WindowStartupLocation="CenterScreen"Background="Transparent"AllowsTransparency="True"Title="Login" Height="650" Width="1100" KeyDown="Window_KeyDown" ContentRendered="Window_ContentRendered"><Grid><Grid.ColumnDefinitions><ColumnDefinition Width="1*"></ColumnDefinition><ColumnDefinition Width="1*"></ColumnDefinition></Grid.ColumnDefinitions><Border BorderThickness="5" Background="#FF8374E9" BorderBrush="#FF8374E9"  CornerRadius="9,0,0,9" ><Border  BorderBrush="#FF8374E9" BorderThickness="20,200,320,280" x:Name="border_ZiSe"><StackPanel  HorizontalAlignment="Left" VerticalAlignment="Center" ><TextBlock Text="欢迎登录" FontSize="48" Foreground="White"></TextBlock><TextBlock Text="养老保健系统" FontSize="20" Foreground="White"></TextBlock></StackPanel></Border></Border><Border Grid.Column="1" Background="White" BorderThickness="5" BorderBrush="White"  CornerRadius="0,9,9,0"><Border Background="White" BorderBrush="White" BorderThickness="40,40,120,40"><Grid><Grid.RowDefinitions><RowDefinition Height="13*"></RowDefinition><RowDefinition Height="5*"></RowDefinition><RowDefinition Height="1*"></RowDefinition><RowDefinition Height="5*"></RowDefinition><RowDefinition Height="1*"></RowDefinition><RowDefinition Height="5*"></RowDefinition><RowDefinition Height="1*"></RowDefinition><RowDefinition Height="8*"></RowDefinition><RowDefinition Height="12*"></RowDefinition></Grid.RowDefinitions><TextBox x:Name="textBox_JobNumber" FontSize="25" Grid.Row="1" Text="孙悟空" Foreground="#FFABADB3" BorderThickness="0,0,0,2" BorderBrush="#FF8374E9"/><PasswordBox x:Name="passwordBox_Password" FontSize="25" Grid.Row="3" Password="SunWuKong" Foreground="#FFABADB3" BorderThickness="0,0,0,2" BorderBrush="#FF8374E9"/><Border Grid.Row="5"><Grid><Grid.ColumnDefinitions><ColumnDefinition Width="1*"></ColumnDefinition><ColumnDefinition Width="3*"></ColumnDefinition></Grid.ColumnDefinitions><TextBlock Text="登入地点:" FontSize="19" Foreground="#FF7A6395"></TextBlock><ComboBox x:Name="comboBox_AreaID" Grid.Column="1" Margin="0,9"></ComboBox></Grid></Border><Grid Grid.Row="7"><Grid.RowDefinitions><RowDefinition Height="1*"></RowDefinition><RowDefinition Height="2*"></RowDefinition><RowDefinition Height="1*"></RowDefinition></Grid.RowDefinitions><Grid.ColumnDefinitions><ColumnDefinition Width="76*"></ColumnDefinition><ColumnDefinition Width="279*"></ColumnDefinition><ColumnDefinition Width="25*"></ColumnDefinition></Grid.ColumnDefinitions><Border Grid.Row="1" Background="#FF8374E9" CornerRadius="5" BorderBrush="#FF8374E9" BorderThickness="3"><Button x:Name="button_DengRu"  Background="{x:Null}" BorderBrush="{x:Null}" Foreground="White" FontSize="23" FontFamily="华文楷体" Content="登录"></Button></Border><TextBlock Grid.Row="2"  Text="没有账号?" Foreground="#FF938686"></TextBlock><Grid Grid.Column="1" Grid.Row="1"><Grid.RowDefinitions><RowDefinition Height="1*"></RowDefinition><RowDefinition Height="1*"></RowDefinition></Grid.RowDefinitions><Grid.ColumnDefinitions><ColumnDefinition Width="114*"></ColumnDefinition><ColumnDefinition Width="80*"></ColumnDefinition><ColumnDefinition Width="80*"></ColumnDefinition></Grid.ColumnDefinitions><CheckBox x:Name="checkBox_JiZhuMM"  Grid.Row="1" Grid.Column="1" FontSize="14" FontFamily="华文楷体">记住密码</CheckBox><CheckBox x:Name="checkBox_ZiDongDR" Grid.Row="1" Grid.Column="2" FontSize="14" FontFamily="华文楷体">自动登录</CheckBox></Grid></Grid></Grid></Border></Border></Grid>
</Window>

C#部分代码

C#代码如下,

using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading;
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;
using Wpf_TheOldAgeSystem.MyPublicLibrary;namespace Wpf_TheOldAgeSystem
{/// <summary>/// Login.xaml 的交互逻辑/// </summary>public partial class Login : Window{private readonly Models.LYBJXTEntities myModels = new Models.LYBJXTEntities();public Login(){InitializeComponent();JiaZai();//左边紫色页面鼠标左键键摁下事件border_ZiSe.MouseLeftButtonDown += MyPublicLibrary.UtilityRelated.UtilityOff;//登入按钮点击事件button_DengRu.Click += Button_DengRu_Click;Hello();}private void Hello(){}private void Button_DengRu_Click(object sender, RoutedEventArgs e){var loginTime = DateTime.Now;var jobNumberId = textBox_JobNumber.Text.Trim();var yuanGongMm = passwordBox_Password.Password.Trim();//FangJianZhuangTaiData();//byte intUserType = Convert.ToByte(comboBoxZhuangTaiChaXun.SelectedIndex);//输出索引//string intUserTypes =Convert.ToString( comboBoxZhuangTaiChaXun.SelectedItem);//输出一个object.里面包含绑定的list/// dynamic dyName = ((dynamic)comboBoxZhuangTaiChaXun.SelectedItem).ZhuangTaiMingcCheng;//取出object里面包含的一个属性//string intUserTypess = Convert.ToString(comboBoxZhuangTaiChaXun.SelectedValue);//SelectedValuePath//string intUserTypesss = Convert.ToString(comboBoxZhuangTaiChaXun.SelectedValuePath);//输出绑定的字段//string intUserTypessss = Convert.ToString(comboBoxZhuangTaiChaXun.DisplayMemberPath);//输出绑定的字段 此时的 myComboxBox.SelectedValue = System.Windows.Controls.ComboBoxItem: 选项的内容 所以如果用SelectedValue这种方法获取选中的值,还需要切割字符串//判断账户不为空if (jobNumberId != string.Empty)//判断用户输入密码不为空if (yuanGongMm != string.Empty)//判断用户是否选中区if (comboBox_AreaID.SelectedItem != null){//当用户区域选择不为空时获取用户选中的区域int comboBoxAreaId = ((dynamic)comboBox_AreaID.SelectedItem).id;try{//查询员工号是否输入正确,当员工号输入正确时,返回该员工数据,var tbUser = (from dbUser in myModels.S_Userwhere dbUser.JobNum == jobNumberIdselect new{dbUser.UserID,dbUser.Password,dbUser.UserMC,dbUser.AreaID}).Single();//判断用户密码是否输入正确if (tbUser.Password.Equals(yuanGongMm))if (tbUser.AreaID == (comboBoxAreaId)){//判断用户类型:获取用户名和用户类型连表查询用户类型表的数据var tbPosition = (from dbUser in myModels.S_Userjoin dbPosition in myModels.D_Positionon dbUser.PositionID equals dbPosition.PositionID//根据账号和用户类型筛选数据where dbUser.JobNum == jobNumberIdselect new{dbPosition.PositionID,dbPosition.Position}).ToList();//接着判断查询的表格是否有数据,有就代表用户类型是准确的if (tbPosition.Count == 0) return;//获取用户类型的名称var userTypeName = tbPosition[0].Position.Trim();//获取用户类型IDint userTypeId = tbPosition[0].PositionID;//用户是否选中记住账户密码if (checkBox_JiZhuMM.IsChecked != null && checkBox_JiZhuMM.IsChecked.Value){Properties.Settings.Default.DaranDassIch = true;Properties.Settings.Default.JobNumberId = jobNumberId;Properties.Settings.Default.JobPassword = yuanGongMm;Properties.Settings.Default.comboBox_AreaID = comboBox_AreaID.SelectedIndex;if (checkBox_ZiDongDR.IsChecked != null)Properties.Settings.Default.ZiDongDR =checkBox_ZiDongDR.IsChecked.Value;}else{Properties.Settings.Default.DaranDassIch = false;Properties.Settings.Default.JobNumberId = string.Empty;Properties.Settings.Default.JobPassword = string.Empty;Properties.Settings.Default.comboBox_AreaID = -1;Properties.Settings.Default.ZiDongDR = false;}Properties.Settings.Default.Save();Properties.Settings.Default.Upgrade();var userInformation = new Hashtable{{"UserID", tbUser.UserID},{"UserTypeID",userTypeId },{"UserMC",tbUser.UserMC },{"LoginTime",loginTime },{"UserTypeClass",userTypeName }};new MainWindow(userInformation).Show();this.Close();}elseMessageBox.Show("请选择正确的员工区域", "提示");elseMessageBox.Show("密码输入错误", "提示");}catch (Exception){MessageBox.Show("没有查询到员工账户,请输入正确的员工账户", "提示");}}elseMessageBox.Show("请选择区域");elseMessageBox.Show("请输入员工密码", "提示");elseMessageBox.Show("请输入正确的员工号", "提示");}public void JiaZai(){var myArealist = myModels.D_Area.Select(m => new { id = m.AreaID, name = m.Area }).ToList();comboBox_AreaID.ItemsSource = myArealist;comboBox_AreaID.DisplayMemberPath = "name";comboBox_AreaID.SelectedValuePath= "id";#region 将保存在Settings里面的数据回填至登入窗体textBox_JobNumber.Text = Properties.Settings.Default.JobNumberId;passwordBox_Password.Password = Properties.Settings.Default.JobPassword;comboBox_AreaID.SelectedIndex = Properties.Settings.Default.comboBox_AreaID;checkBox_JiZhuMM.IsChecked = Properties.Settings.Default.DaranDassIch;checkBox_ZiDongDR.IsChecked = Properties.Settings.Default.ZiDongDR;#endregion}private void Window_KeyDown(object sender, KeyEventArgs e){//判断用户是否输入了Enter键if (e.Key.ToString() == "Return"){Button_DengRu_Click(sender, e);}return;}private void Window_ContentRendered(object sender, EventArgs e){if (checkBox_ZiDongDR.IsChecked != null && checkBox_ZiDongDR.IsChecked.Value){// Thread.Sleep(3000);//睡眠500毫秒,也就是0.5秒Button_DengRu_Click(null, null);}}}
}

WPF养老保险系统日志_登入界面相关推荐

  1. java用户名检查数据库_登入界面账号密码是访问数据库,但登入问题时if判断时就是执行不了...

    回复 2楼 林月儿 我按着你的方法试了下,可还是这个判断不能执行                    if(password.equals(drmm.getText())){ view.setTex ...

  2. python编辑用户登录界面_python编辑用户登入界面的实现代码

    1.需求分析 登入界面需要达到以下要求: 系统要有登入和注册两个选项可供选择 系统要能够实现登入出错提示,比如账户密码错误等,用户信息保存在user_info.txt文件夹中 系统要能够进行登入错误次 ...

  3. python登陆界面代码_python编辑用户登入界面的实现代码

    1.需求分析 登入界面需要达到以下要求: 系统要有登入和注册两个选项可供选择 系统要能够实现登入出错提示,比如账户密码错误等,用户信息保存在user_info.txt文件夹中 系统要能够进行登入错误次 ...

  4. linux系统停留在登入界面,登入失败问题

    今天一大早打开电脑,发现系统老是登入不了,起初怀疑是不是有人动了我电脑,因为上周五下班就回去了,公司有人加班. 后来发现应该是系统上的问题,才回想起上周五快下班的时候在配置JAVA环境,修改了/etc ...

  5. java回车监听_java学习:给登入界面添加键盘监听,按回车键登入

    折腾了很久,终于把登入界面的键盘监听加上了,内容很简单.其实想到的话也挺简单的,毕竟可以从鼠标监听事件推测过来. 假设我们是如下的登入界面: 我们需要对文本框进行监听,而不是对整个JFrame对象进行 ...

  6. 使用GET实现一个简单的登入界面

    使用GET实现一个简单的登入界面 拼接url字符串 将textfield的内容传入用户名username和密码password, 关于GET请求的URL格式 http://127.0.0.1/logi ...

  7. PCB 720全景图嵌入登入界面应用实现

    通常软件主界面或登入界面背景图片通常采用固定图片,这里介绍如何将720度全景图嵌入到登入界面中来, 这里用的素材来源于这里上个月在公司里拍摄的全景图, 一.拍摄720度全景图片, 建议:最好用三角固定 ...

  8. android王者调不了界面,王者荣耀登入界面修改方法 ios用户无法修改

    :原标题:王者荣耀登入界面修改方法 ios用户无法修改 王者荣耀登陆界面怎么修改呢?其实游戏的登录界面是可以更换的,只不过大家都不知道该如何换了,那下面就让小编来给大家介绍下登陆界面修改方法吧. 王者 ...

  9. QT:登入界面账号密码登入和验证(奇牛学院)

    QT: 登入界面账号密码登入和验证 第一次在博客上面写代码 初学 有问题可以用一起讨论!!! ui->img->setScaledContents(true); // 图片是否填充 fal ...

最新文章

  1. 基于pytorch开发CNN提取全连接层作为特征
  2. Visual Studio Code 配置指南
  3. boost::type_index模块实现存储有关类型的信息
  4. Python 的 heapq 模块源码分析
  5. 7个相同小球4个不同盒子_【计算启蒙】4个游戏陪娃玩懂“数拆分”,加减法都不用愁!...
  6. smarty的配置与安装
  7. Confluence 6 配置 Office 转换器
  8. Jave2-Java音频视频编码器
  9. 实证研究的步骤_案例研究法
  10. 联想 Newifi mini Y1 Padavan固件设置5Ghz桥接
  11. Nginx无证书反向代理
  12. 墙后的全部姿势,全被“瞎眼”AI透视
  13. 深度学习电脑配置推荐
  14. 企业如何构建内部开发者平台?
  15. 张量学习(1):张量的基本概念
  16. qa158.cn kuais.php,qukuaigou.skhjcf.com
  17. Unity新GUI教程 – 第一部分
  18. What?小程序居然可以脱离微信环境运行
  19. python链家二手房_python 爬取链家二手房信息
  20. 信签纸有虚线怎么写_中间有虚线的稿纸,字要写在哪里

热门文章

  1. ns手柄pc驱动_PC和NS通吃的手柄:北通宙斯游戏手柄精英版上手
  2. 硕士论文答辩PPT的要求
  3. 如何将CAD转PDF很重要?PDF转换CAD格式你知道怎么操作吗?
  4. NTKO在线office控件使用实例
  5. 【QT + OsgEarth】(四)加载国界线矢量图
  6. springboot嵌入式数据库H2初探
  7. Lip Reading Sentences in the Wild(2017)
  8. DNSPod域名解析教程(图)
  9. c++实验报告——复数类Complex
  10. jquery 实现选项卡