当前位置: 首页 > news >正文

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 界面设计&#xff08;XAML&#xff09;2.2 代码逻辑&#xff08;C#&#xff09; 源码下载更多优质源码分享 作者&#xff1a;xcLeigh 文章地址&a…...

leetcode 面试经典 150 题:有效的括号

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

python学opencv|读取图像(三十九 )阈值处理Otsu方法

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

GBase8c aes_encrypt和aes_decrypt函数

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

【2024年华为OD机试】(B卷,100分)- 数据分类 (Java JS PythonC/C++)

一、问题描述 题目描述 对一个数据a进行分类,分类方法为: 此数据a(四个字节大小)的四个字节相加对一个给定的值b取模,如果得到的结果小于一个给定的值c,则数据a为有效类型,其类型为取模的值;如果得到的结果大于或者等于c,则数据a为无效类型。 比如一个数据a=0x010…...

机器学习 vs 深度学习

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

flutter_学习记录_00_环境搭建

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

SpringBoot如何自定义Starter ?

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

前沿技术对比:大模型技术为什么发展远快于区块链技术,中英对照解释

文章目录 前言1、技术复杂性与成熟度 / Technical Complexity and Maturity2.、应用场景与行业需求 / Application Scenarios and Industry Demand3、监管与法律问题 / Regulatory and Legal Issues4、去中心化与网络效应 / Decentralization and Network Effects5、能源消耗与…...

WordPress果果对象存储插件

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

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预训练视觉和大语言模型

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

OpenCV相机标定与3D重建(63)校正图像的畸变函数undistort()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 转换图像以补偿镜头畸变。 该函数通过变换图像来补偿径向和切向镜头畸变。 此函数仅仅是 initUndistortRectifyMap&#xff08;使用单位矩阵 R…...

用 Java 发送 HTML 内容并带附件的电子邮件

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

【Day24 LeetCode】贪心Ⅱ

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

vue3+elementPlus之后台管理系统(从0到1)(day3-管理员管理)

管理员管理 搭建管理员页面 在views中创建一个manager文件夹&#xff0c;并创建ManagerIndexView.vue、MangagerListView.vue、UserList.vue <!-- src/views/manager/ManagerIndexView.vue --> <template><!-- 作为一个占位符&#xff0c;用于渲染与当前 URL…...

上位机知识篇---ROS2命令行命令静态链接库动态链接库

文章目录 前言第一部分&#xff1a;ROS2命令行命令1. 基础命令&#xff08;1&#xff09;ros2 run&#xff08;2&#xff09;ros2 launch&#xff08;3&#xff09;ros2 node&#xff08;4&#xff09;ros2 topic&#xff08;5&#xff09;ros2 service&#xff08;6&#xff0…...

2025/1/21 学习Vue的第四天

睡觉。 --------------------------------------------------------------------------------------------------------------------------------- 11.Object.defineProperty 1.在我们之前学习JS的时候&#xff0c;普通得定义一个对象与属性。 <!DOCTYPE html> <h…...

云计算、AI与国产化浪潮下DBA职业之路风云变幻,如何谋破局启新途?

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

Linux内核编程(二十一)USB驱动开发-键盘驱动

一、驱动类型 USB 驱动开发主要分为两种&#xff1a;主机侧的驱动程序和设备侧的驱动程序。一般我们编写的都是主机侧的USB驱动程序。 主机侧驱动程序用于控制插入到主机中的 USB 设备&#xff0c;而设备侧驱动程序则负责控制 USB 设备如何与主机通信。由于设备侧驱动程序通常与…...

JavaSec-RCE

简介 RCE(Remote Code Execution)&#xff0c;可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景&#xff1a;Groovy代码注入 Groovy是一种基于JVM的动态语言&#xff0c;语法简洁&#xff0c;支持闭包、动态类型和Java互操作性&#xff0c…...

零基础设计模式——行为型模式 - 责任链模式

第四部分&#xff1a;行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习&#xff01;行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想&#xff1a;使多个对象都有机会处…...

如何在最短时间内提升打ctf(web)的水平?

刚刚刷完2遍 bugku 的 web 题&#xff0c;前来答题。 每个人对刷题理解是不同&#xff0c;有的人是看了writeup就等于刷了&#xff0c;有的人是收藏了writeup就等于刷了&#xff0c;有的人是跟着writeup做了一遍就等于刷了&#xff0c;还有的人是独立思考做了一遍就等于刷了。…...

rnn判断string中第一次出现a的下标

# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...

全面解析数据库:从基础概念到前沿应用​

在数字化时代&#xff0c;数据已成为企业和社会发展的核心资产&#xff0c;而数据库作为存储、管理和处理数据的关键工具&#xff0c;在各个领域发挥着举足轻重的作用。从电商平台的商品信息管理&#xff0c;到社交网络的用户数据存储&#xff0c;再到金融行业的交易记录处理&a…...

xmind转换为markdown

文章目录 解锁思维导图新姿势&#xff1a;将XMind转为结构化Markdown 一、认识Xmind结构二、核心转换流程详解1.解压XMind文件&#xff08;ZIP处理&#xff09;2.解析JSON数据结构3&#xff1a;递归转换树形结构4&#xff1a;Markdown层级生成逻辑 三、完整代码 解锁思维导图新…...

Neko虚拟浏览器远程协作方案:Docker+内网穿透技术部署实践

前言&#xff1a;本文将向开发者介绍一款创新性协作工具——Neko虚拟浏览器。在数字化协作场景中&#xff0c;跨地域的团队常需面对实时共享屏幕、协同编辑文档等需求。通过本指南&#xff0c;你将掌握在Ubuntu系统中使用容器化技术部署该工具的具体方案&#xff0c;并结合内网…...

【笔记】AI Agent 项目 SUNA 部署 之 Docker 构建记录

#工作记录 构建过程记录 Microsoft Windows [Version 10.0.27871.1000] (c) Microsoft Corporation. All rights reserved.(suna-py3.12) F:\PythonProjects\suna>python setup.py --admin███████╗██╗ ██╗███╗ ██╗ █████╗ ██╔════╝…...

SOC-ESP32S3部分:30-I2S音频-麦克风扬声器驱动

飞书文档https://x509p6c8to.feishu.cn/wiki/SKZzwIRH3i7lsckUOlzcuJsdnVf I2S简介 I2S&#xff08;Inter-Integrated Circuit Sound&#xff09;是一种用于传输数字音频数据的通信协议&#xff0c;广泛应用于音频设备中。 ESP32-S3 包含 2 个 I2S 外设&#xff0c;通过配置…...

简单聊下阿里云DNS劫持事件

阿里云域名被DNS劫持事件 事件总结 根据ICANN规则&#xff0c;域名注册商&#xff08;Verisign&#xff09;认定aliyuncs.com域名下的部分网站被用于非法活动&#xff08;如传播恶意软件&#xff09;&#xff1b;顶级域名DNS服务器将aliyuncs.com域名的DNS记录统一解析到shado…...