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 设备如何与主机通信。由于设备侧驱动程序通常与…...
AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
Java 语言特性(面试系列1)
一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...
工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...
Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?
在大数据处理领域,Hive 作为 Hadoop 生态中重要的数据仓库工具,其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式,很多开发者常常陷入选择困境。本文将从底…...
DingDing机器人群消息推送
文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...
Caliper 配置文件解析:fisco-bcos.json
config.yaml 文件 config.yaml 是 Caliper 的主配置文件,通常包含以下内容: test:name: fisco-bcos-test # 测试名称description: Performance test of FISCO-BCOS # 测试描述workers:type: local # 工作进程类型number: 5 # 工作进程数量monitor:type: - docker- pro…...
苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会
在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...
MySQL 主从同步异常处理
阅读原文:https://www.xiaozaoshu.top/articles/mysql-m-s-update-pk MySQL 做双主,遇到的这个错误: Could not execute Update_rows event on table ... Error_code: 1032是 MySQL 主从复制时的经典错误之一,通常表示ÿ…...
