WPF实战案例 | C# WPF实现大学选课系统
WPF实战案例 | C# WPF实现大学选课系统
- 一、设计来源
- 1.1 主界面
- 1.2 登录界面
- 1.3 新增课程界面
- 1.4 修改密码界面
- 二、效果和源码
- 2.1 界面设计(XAML)
- 2.2 代码逻辑(C#)
- 源码下载
- 更多优质源码分享
作者:xcLeigh
文章地址:https://blog.csdn.net/weixin_43151418/article/details/145299146
WPF实战案例 | C# WPF实现大学选课系统
, C# WPF实现大学选课系统,大作业,毕业设计,该系统实现多身份登录、修改密码、课程的管理,个人信息的管理等功能。这个源码让你快速搭建自己的应用程序,注释完整,代码规范,各种风格都有,代码上手简单,代码独立,可以直接用程序打开,运行使用。也可直接点击EXE运行程序。
一、设计来源
本文章是分类专栏【WPF 从入门到精通
】下的里面的一篇,专栏里面包括网站,窗体应用程序的源码,技术点解析等案列源码,让你更加掌握WPF。持续更新中,欢迎大家关注,一起学习交流。
✂ 点击快速进入专栏
1.1 主界面
大学选课系统主界面,展示自己的logo和标题(这里可以自定义,可以扩展自己想要的风格),该系统实现多身份登录、修改密码、课程的管理,个人信息的管理等功能,代码简单,注释清晰,容易在这个基础上扩展自己的系统。
1.2 登录界面
大学选课系统登录界面,展示自己的logo和标题(这里可以自定义,可以扩展自己想要的风格),该系统实现多身份登录、修改密码、课程的管理,个人信息的管理等功能,代码简单,注释清晰,容易在这个基础上扩展自己的系统。
1.3 新增课程界面
大学选课系统新增课程界面,展示自己的logo和标题(这里可以自定义,可以扩展自己想要的风格),该系统实现多身份登录、修改密码、课程的管理,个人信息的管理等功能,代码简单,注释清晰,容易在这个基础上扩展自己的系统。
1.4 修改密码界面
大学选课系统修改密码界面,展示自己的logo和标题(这里可以自定义,可以扩展自己想要的风格),该系统实现多身份登录、修改密码、课程的管理,个人信息的管理等功能,代码简单,注释清晰,容易在这个基础上扩展自己的系统。
二、效果和源码
2.1 界面设计(XAML)
<Window x:Class="CourseSelection.WindowLogin"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"Title="登录" FontSize="22" Loaded="Window_Loaded" mc:Ignorable="d" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" Height="334" Width="550" Closing="Window_Closing" Icon="/icon.png" WindowStartupLocation="CenterScreen" ResizeMode="CanMinimize"><Window.Background><ImageBrush ImageSource="/login_pic.png"></ImageBrush></Window.Background><Grid Name="gridMain"><Grid.Background><ImageBrush/></Grid.Background><Grid.RowDefinitions><RowDefinition></RowDefinition><RowDefinition></RowDefinition><RowDefinition></RowDefinition><RowDefinition></RowDefinition><RowDefinition></RowDefinition></Grid.RowDefinitions><Grid.ColumnDefinitions><ColumnDefinition Width="40*"></ColumnDefinition><ColumnDefinition Width="15*"/><ColumnDefinition Width="11*"></ColumnDefinition><ColumnDefinition Width="28*"/><ColumnDefinition Width="16*"/></Grid.ColumnDefinitions><Label HorizontalAlignment="Right" VerticalAlignment="Bottom" FontSize="22" Grid.Row="0" Grid.Column="0" Margin="0,0,0,64" Grid.RowSpan="2" Grid.ColumnSpan="2">用户名:</Label><Label HorizontalAlignment="Left" VerticalAlignment="Center" FontSize="22" Grid.Row="1" Content="密 码:" Margin="179,0,0,0" Grid.ColumnSpan="2"></Label><Label HorizontalAlignment="Right" VerticalAlignment="Top" FontSize="22" Grid.Row="2" Content="验证码:" Grid.ColumnSpan="2"></Label><StackPanel Grid.Column="2" VerticalAlignment="Bottom" Grid.ColumnSpan="3" Margin="0,0,0,64" Grid.RowSpan="2"><TextBox Name="txtUser" Margin="0,0,100,5"></TextBox></StackPanel><StackPanel Grid.Row="1" Grid.Column="2" VerticalAlignment="Center" Grid.ColumnSpan="3"><PasswordBox Name="txtPsw" Margin="0,0,100,5"></PasswordBox></StackPanel><Grid Name="gridPIN" Grid.Row="2" Grid.Column="2" Grid.ColumnSpan="3"><Grid.ColumnDefinitions><ColumnDefinition Width="90*"></ColumnDefinition><ColumnDefinition Width="176*"></ColumnDefinition></Grid.ColumnDefinitions><StackPanel VerticalAlignment="Top"><TextBox Name="txtPIN" Margin="2"></TextBox></StackPanel><StackPanel Name="skpPIN" Orientation="Horizontal" Grid.Column="1" HorizontalAlignment="Left" VerticalAlignment="top" ></StackPanel></Grid><RadioButton Name="rbtnTeacher" Margin="0,5,130,0" HorizontalAlignment="Right" VerticalAlignment="Top" Grid.Row="3" Content="教师" FontSize="18" RenderTransformOrigin="3,0.389" Grid.Column="2" Grid.ColumnSpan="2"/><RadioButton Name="rbtnStudent" HorizontalAlignment="Left" VerticalAlignment="Top" Grid.Row="3" Content="学生" FontSize="18" IsChecked="True" Margin="190,4,0,0" Grid.ColumnSpan="2"/><Button Name="btnLogin" Margin="0,64,30,0" HorizontalAlignment="Right" VerticalAlignment="Top" Grid.Row="3" Grid.Column="0" Content="登 录" FontSize="18" Click="btnLogin_Click" Padding="20,6,20,6" Background="#FF13227A" FontFamily="Calibri" Foreground="White" Grid.RowSpan="2" Grid.ColumnSpan="2" Cursor="Hand"></Button><Button Name="btnChangePsw" HorizontalAlignment="Left" VerticalAlignment="Top" Grid.Row="3" Content="修改密码" FontSize="18" Click="btnChangePsw_Click" Margin="56,64,0,0" Grid.RowSpan="2" Padding="20,6,20,6" FontFamily="Calibri" Background="#FF13227A" Foreground="White" Grid.ColumnSpan="3" Grid.Column="1" Cursor="Hand"/></Grid></Window>
说明:
XAML(eXtensible Application Markup Language)是一种用于初始化结构化值和对象的标记语言。在 WPF(Windows Presentation Foundation)中,它主要用于构建用户界面。它具有清晰的层次结构,能够以声明式的方式描述 UI 元素及其属性,就像 HTML 用于网页布局一样,但功能更加强大。
2.2 代码逻辑(C#)
using System;
using System.Windows;namespace WpfCalculator
{public partial class WindowLogin: Window{public WindowLogin(){InitializeComponent();}private void Window_Loaded(object sender, RoutedEventArgs e){initialize();}private void btnLogin_Click(object sender, RoutedEventArgs e){StrUtils.login(txtUser.Text, txtPsw.Password, "student");}}
}
源码下载
注:源码下载在文章头部也可以点击下载,跟这里的是一样的
WPF实战案例 | C# WPF实现大学选课系统(源码) 点击下载
更多优质源码分享
-
【百篇源码模板】html5各行各业官网模板源码下载
-
【模板源码】html实现酷炫美观的可视化大屏(十种风格示例,附源码)
-
【VUE系列】VUE3实现个人网站模板源码
-
【HTML源码】HTML5小游戏源码
-
【C#实战案例】C# Winform贪吃蛇小游戏源码
💢 关注博主 带你实现畅游前后端
🏰 大屏可视化 带你体验酷炫大屏
💯 神秘个人简介 带你体验不一样得介绍
💘 为爱表白 为你那个TA,体验别致的浪漫惊喜
🎀 酷炫邀请函 带你体验高大上得邀请
① 🉑提供云服务部署(有自己的阿里云);
② 🉑提供前端、后端、应用程序、H5、小程序、公众号、大作业等相关业务;
如🈶合作请联系我,期待您的联系。
注:本文撰写于CSDN平台,作者:xcLeigh(所有权归作者所有),https://blog.csdn.net/weixin_43151418,如果相关下载没有跳转,请查看这个地址,相关链接没有跳转,皆是抄袭本文,转载请备注本文原地址。
亲,码字不易,动动小手,欢迎 点赞 ➕ 收藏,如 🈶 问题请 留言(私信或评论),博主看见后一定及时给您答复,💌💌💌
原文地址:https://blog.csdn.net/weixin_43151418/article/details/145299146(防止抄袭,原文地址不可删除)
相关文章:

WPF实战案例 | C# WPF实现大学选课系统
WPF实战案例 | C# WPF实现大学选课系统 一、设计来源1.1 主界面1.2 登录界面1.3 新增课程界面1.4 修改密码界面 二、效果和源码2.1 界面设计(XAML)2.2 代码逻辑(C#) 源码下载更多优质源码分享 作者:xcLeigh 文章地址&a…...

leetcode 面试经典 150 题:有效的括号
链接有效的括号题序号20题型字符串解法栈难度简单熟练度✅✅✅ 题目 给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须…...

python学opencv|读取图像(三十九 )阈值处理Otsu方法
【1】引言 前序学习了5种阈值处理方法,包括(反)阈值处理、(反)零值处理和截断处理,还学习了一种自适应处理方法,相关文章链接为: python学opencv|读取图像(三十三)阈值处理-灰度图像-CSDN博客 python学o…...

GBase8c aes_encrypt和aes_decrypt函数
在数据库中,aes_encrypt和aes_decrypt函数进行加解密时使用的块加密模式。 GBase8c 与 MySQL 的aes_encrypt和aes_decrypt函数区别: 1、GBase8c 中的初始化向量init_vector不能为空 2、MySQL的加密模块block_encryption_mode 为aes-128-ecb,…...

【2024年华为OD机试】(B卷,100分)- 数据分类 (Java JS PythonC/C++)
一、问题描述 题目描述 对一个数据a进行分类,分类方法为: 此数据a(四个字节大小)的四个字节相加对一个给定的值b取模,如果得到的结果小于一个给定的值c,则数据a为有效类型,其类型为取模的值;如果得到的结果大于或者等于c,则数据a为无效类型。 比如一个数据a=0x010…...

机器学习 vs 深度学习
目录 一、机器学习 1、实现原理 2、实施方法 二、深度学习 1、与机器学习的联系与区别 2、神经网络的历史发展 3、神经网络的基本概念 一、机器学习 1、实现原理 训练(归纳)和预测(演绎) 归纳: 从具体案例中抽象一般规律…...

flutter_学习记录_00_环境搭建
1.参考文档 Mac端Flutter的环境配置看这一篇就够了 flutter的中文官方文档 2. 本人环境搭建的背景 本人的电脑的是Mac的,iOS开发,所以iOS开发环境本身是可用的;外加Mac电脑本身就会配置Java的环境。所以,后面剩下的就是&#x…...

SpringBoot如何自定义Starter ?
大家好,我是锋哥。今天分享关于【SpringBoot如何自定义Starter ?】面试题。希望对大家有帮助; SpringBoot如何自定义Starter ? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在 Spring Boot 中,自定义 Starter 是一种将应用程…...

前沿技术对比:大模型技术为什么发展远快于区块链技术,中英对照解释
文章目录 前言1、技术复杂性与成熟度 / Technical Complexity and Maturity2.、应用场景与行业需求 / Application Scenarios and Industry Demand3、监管与法律问题 / Regulatory and Legal Issues4、去中心化与网络效应 / Decentralization and Network Effects5、能源消耗与…...

WordPress果果对象存储插件
将网站上的图片等静态资源文件上传至七牛云对象存储,可以减轻服务器文件存储压力,提升静态文件访问速度,从而加速网站访问速度。 支持:阿里云对象存储、华为云对象存储、百度云对象存储、腾讯云对象存储、七牛云对象存储。 下载…...

elk 安装
创建elk网络 docker network create -d bridge elkelasticsearch 创建目录 mkdir -p /data/elasticsearch/{conf,logs,data,plugins}vim /data/elasticsearch/conf/elasticsearch.ymlcluster.name: "es-cluster" network.host: 0.0.0.0 xpack.security.enabled: tr…...

Python 预训练:打通视觉与大语言模型应用壁垒——Python预训练视觉和大语言模型
大语言模型是一种由包含数百亿甚至更多参数的深度神经网络构建的语言模型,通常使用自监督学习方法通过大量无标签文本进行训练,是深度学习之后的又一大人工智能技术革命。 大语言模型的发展主要经历了基础模型阶段(2018 年到2021年)、能力探索阶段(2019年…...

OpenCV相机标定与3D重建(63)校正图像的畸变函数undistort()的使用
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 转换图像以补偿镜头畸变。 该函数通过变换图像来补偿径向和切向镜头畸变。 此函数仅仅是 initUndistortRectifyMap(使用单位矩阵 R…...

用 Java 发送 HTML 内容并带附件的电子邮件
实现思路 首先,设置邮件服务器的相关属性,包括是否需要认证、使用的邮件协议、服务器地址、端口等。 创建一个会话对象,使用 Session.getInstance 方法,并提供邮件服务器的属性和认证信息。 创建一个 MimeMessage 对象作为邮件消…...

【Day24 LeetCode】贪心Ⅱ
一、贪心Ⅱ 1、买卖股票的最佳时机 II 122 这题第一想法是使用动态规划做,每天有两个状态,持有股票和非持有股票,每次计算这两个状态下的最优值。 class Solution { public:int maxProfit(vector<int>& prices) {//表示当前 没有…...

vue3+elementPlus之后台管理系统(从0到1)(day3-管理员管理)
管理员管理 搭建管理员页面 在views中创建一个manager文件夹,并创建ManagerIndexView.vue、MangagerListView.vue、UserList.vue <!-- src/views/manager/ManagerIndexView.vue --> <template><!-- 作为一个占位符,用于渲染与当前 URL…...

上位机知识篇---ROS2命令行命令静态链接库动态链接库
文章目录 前言第一部分:ROS2命令行命令1. 基础命令(1)ros2 run(2)ros2 launch(3)ros2 node(4)ros2 topic(5)ros2 service(6࿰…...

2025/1/21 学习Vue的第四天
睡觉。 --------------------------------------------------------------------------------------------------------------------------------- 11.Object.defineProperty 1.在我们之前学习JS的时候,普通得定义一个对象与属性。 <!DOCTYPE html> <h…...

云计算、AI与国产化浪潮下DBA职业之路风云变幻,如何谋破局启新途?
引言 在近日举办的一场「云和恩墨大讲堂」直播栏目中,云和恩墨联合创始人李轶楠、副总经理熊军和欧冶云商数据库首席薛晓刚共同探讨了DBA的现状与未来发展。三位专家从云计算、人工智能、国产化替代等多个角度进行了深入的分析和探讨,为从业者提供了宝贵…...

Linux内核编程(二十一)USB驱动开发-键盘驱动
一、驱动类型 USB 驱动开发主要分为两种:主机侧的驱动程序和设备侧的驱动程序。一般我们编写的都是主机侧的USB驱动程序。 主机侧驱动程序用于控制插入到主机中的 USB 设备,而设备侧驱动程序则负责控制 USB 设备如何与主机通信。由于设备侧驱动程序通常与…...

模拟算法习题篇
在算法中,模拟是一种通过计算机程序来模拟现实世界中的过程或系统行为的方法。它的核心思想是根据题目给定的规则和逻辑,按照步骤细致地重现事件的发展流程,从而获得最终结果。 解题时如何使用模拟算法: 理解题目规则:…...

蓝桥杯真题 - 翻转 - 题解
题目链接:https://www.lanqiao.cn/problems/3520/learning/ 个人评价:难度 1 星(满星:5) 前置知识:无 整体思路 贪心,除了第一位跟最后一位,其它字符,每当 S [ i ] ≠…...

IP属地与视频定位位置不一致:现象解析与影响探讨
在数字化时代,IP属地和视频定位位置已成为我们获取网络信息、判断内容真实性的重要依据。然而,有时我们会发现,某些视频内容中展示的定位位置与其发布者的IP属地并不一致。这种不一致现象引发了广泛的关注和讨论。本文旨在深入剖析IP属地与视…...

管道符、重定向与环境变量
个人博客站—运维鹿: http://www.kervin24.top CSDN博客—做个超努力的小奚: https://blog.csdn.net/qq_52914969?typeblog 一、重定向 将命令和文件结合 标准输入重定向(STDIN,文件描述符为0):默认从键盘输入&am…...

可扩展性设计架构模式——开闭原则
1. 概述 在架构设计中,遵循开闭原则(Open/Closed Principle, OCP),代码应该“对扩展开放,对修改关闭”是实现可扩展性的关键。这个原则指导我们设计系统时,应使其对新增功能开放,而对现有代码的修改封闭。这…...

算法随笔_17: 回文数
上一篇: 算法随笔_16: 找出第k小的数对距离-CSDN博客 题目描述如下: 给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左&…...

计算机的错误计算(二百一十九)
摘要 大模型能确定 sin(2.6^10) 的符号吗?实验表明,大模型的计算、推理均有问题。另外,结论也是错的。 前面讨论的内容为自变量是 2.6^100的正弦,本节讨论自变量为 2.6^10的正弦(对于某些大模型,2.6^100似…...

React进阶之高阶组件HOC、react hooks、自定义hooks
React高级 高阶组件 HOC属性代理反向继承属性代理和反向继承的区别实例实例一实例二 HooksHooks APIuseState:useEffect:useLayoutEffect:useRef:useContext:useReducer:useMemouseCallback 自定义Hooks 拓展ÿ…...

【Pytest】基础到高级功能的理解使用
文章目录 第一部分:Pytest 简介1.1 什么是 Pytest?1.2 Pytest 的历史1.3 Pytest 的核心概念1.4 Pytest 的特点1.5 为什么选择 Pytest? 第二部分:Pytest 的基本使用2.1 安装 Pytest2.2 编写第一个测试用例2.2.1 创建一个简单的测试…...

RHCE实验详解
目录 实验分析 环境拓扑结构 项目需求 主机环境描述 实验步骤 一、密钥互信和主机名更改 二、DNS 三、NGINX 四、MARIADB 五、NFS 六、NTP 七、论坛服务 结果展示及痛点解答 实验分析 环境拓扑结构 项目需求 1. 172.25.250.101 主机上的 Web 服务要求提供 www.ex…...