WPF实战案例 | C# WPF实现大学选课系统

news2025/1/23 6:16:38

在这里插入图片描述
在这里插入图片描述

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(防止抄袭,原文地址不可删除)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2280749.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HTML5 Canvas和JavaScript的3D粒子星系效果

HTML部分 基本结构包括<html>, <head>, 和 <body>标签。<title>标签设置了页面标题为“优化版3D粒子星系”。<style>块定义了一些基本样式&#xff1a; body&#xff1a;无边距&#xff0c;隐藏滚动条&#xff0c;黑色背景&#xff0c;禁用触摸…

再见 Crontab!Linux 定时任务的新选择!

引言 说到 Linux 下定时执行任务&#xff0c;大多数人可能会想到 crontab&#xff1f;没错&#xff0c;它的确是 Linux 下比较通用和方便的方式&#xff0c;但是今天我来介绍一种新的方法来创建定时任务并且支持更多更强大的功能。 Systemd 很多小伙伴应该听说过 Systemd&…

Unity入门1

安装之后无法获得许可证&#xff0c;可以考虑重装 新建项目 单击空白处生成脚本 双击c#文件 会自动打开vstudio 检查引用 如果没有引用&#xff0c;重开vstu&#xff0c;或者重新加载项目 hierarchy层级 scenes场景 assets资产 inspector督察 icon图标 资源链接&…

【二叉树】遍历总结!

在很多问题中&#xff0c;熟练掌握二叉树的遍历方法&#xff0c;能够轻松解决很多问题。 新建一棵二叉树root[1,null,2,3] 1、前序遍历 前序遍历的顺序为根节点->左子树->右子树&#xff0c;按照以上二叉树&#xff0c;遍历顺序为[1&#xff0c;2&#xff0c;3]。代码为…

(2)STM32 USB设备开发-USB虚拟串口

例程&#xff1a;STM32USBdevice: 基于STM32的USB设备例子程序 - Gitee.com 本篇为USB虚拟串口教程&#xff0c;没有知识&#xff0c;全是实操&#xff0c;按照步骤就能获得一个STM32的USB虚拟串口。本例子是在野火F103MINI开发板上验证的&#xff0c;如果代码中出现一些外设的…

ASP .NET Core 学习(.NET9)部署(一)windows

在windows部署 ASP .NET Core 的时候IIS是不二选择 一、IIS安装 不论是在window7 、w10还是Windows Server&#xff0c;都是十分简单的&#xff0c;下面以Windows10为例 打开控制面版—程序—启用或关闭Windows功能 勾选图中的两项&#xff0c;其中的子项看需求自行勾选&am…

Java并发编程面试题:线程池Fork/Join(19题)

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;精通Java编…

fyne 选项卡设计

用户界面的设计至关重要&#xff0c;它直接影响着用户体验。选卡设计作为一种常见的界面布局方式&#xff0c;能够有效地组织和展示信息&#xff0c;使用户能够方便快捷地浏览和操作。 Fyne 是一个用 Go 语言编写的跨平台 GUI 框架&#xff0c;它提供了丰富的组件和功能&#…

MySQL——主从同步

提醒&#xff1a;进行配置时&#xff0c;需要确保一主两从的操作系统、MySQL版本一致&#xff0c;否则将出现问题 环境介绍 服务器IP主服务器172.25.254.10从服务器-1172.25.254.11从服务器-2172.25.254.12 配置 # 快速配置&#xff0c;选择多重执行&#xff0c;确保版本一…

IDEA中Maven使用的踩坑与最佳实践

文章目录 IDEA中Maven使用的踩坑与最佳实践一、环境配置类问题1. Maven环境配置2. IDEA中Maven配置建议 二、常见问题与解决方案1. 依赖下载失败2. 依赖冲突解决3. 编译问题修复 三、效率提升技巧1. IDEA Maven Helper插件使用2. 常用Maven命令配置3. 多模块项目配置4. 资源文件…

VIVADO-block desgn 中时钟连线报错

问题描述 1.自定义的IP核由于封装不规范&#xff0c;输出的时钟引脚缺少该时钟的相关信息 正常时钟引脚属性 异常的时钟引脚属性 2.run connection automation 中无法找到这种缺少信息的时钟源 3.axi_clk与axi interconnect时钟频率不匹配 解决方案&#xff1a; 1.用BUFG将缺少…

CSDN 博客之星 2024:默语的技术进阶与社区耕耘之旅

CSDN 博客之星 2024&#xff1a;默语的技术进阶与社区耕耘之旅 &#x1f31f; 默语&#xff0c;是一位在技术分享与社区建设中坚持深耕的博客作者。今年&#xff0c;我有幸再次入围成为 CSDN 博客之星TOP300 的一员&#xff0c;这既是对过往努力的肯定&#xff0c;也是对未来探…

BUUCTF_Web(UPLOAD COURSE 1)

打开靶机&#xff0c;发现需要上传文件&#xff0c;尝试一句话木马蚁剑链接 一句话木马 【基本原理】利用文件上传漏洞&#xff0c;往目标网站中上传一句话木马&#xff0c;然后你就可以在本地通过中国菜刀chopper.exe即可获取和控制整个网站目录。表示后面即使执行错误&#…

车载软件架构 --- CP和AP作为中央计算平台的软件架构双核心

我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 简单&#xff0c;单纯&#xff0c;喜欢独处&#xff0c;独来独往&#xff0c;不易合同频过着接地气的生活…

docker ubuntu:20.04构建c++ grpc环境

由c grpc必须源码编译&#xff0c;ubuntu版本不同可能出现的问题也不同&#xff0c;这里分享下我的构建过程。 我是vscode结合docker去安装c虚拟环境&#xff0c;我不想污染本机环境。 vscode的插件Dev Containers Dockerfile如下(如果单纯是ubuntu环境构建&#xff0c;可忽略该…

PV-RCNN、PV-RCNN++ 网络结构

paper&#xff1a; PV-RCNN https://arxiv.org/abs/1912.13192PV-RCNN https://arxiv.org/abs/2102.00463 github&#xff1a;使用OpenPCDet进行训练测试 https://github.com/open-mmlab/OpenPCDet PV-RCNN 简介 PV-RCNN的提出是想要综合 point-based 和 voxel-based 3D目…

认识c++

文章目录 1namespace 写博客 &#xff0c;做作业 笔记很关键 1namespace ::域作用限定域 局部域>全局域>命名空间域&#xff08;展开了命名空间域or指定访问命名空间域&#xff09; 不要轻易展开 可以这样解决 方案一 方案二 using namespace std; 直接展开会有风…

接口 V2 完善:基于责任链模式、Canal 监听 Binlog 实现数据库、缓存的库存最终一致性

&#x1f3af; 本文介绍了一种使用Canal监听MySQL Binlog实现数据库与缓存最终一致性的方案。文章首先讲解了如何修改Canal配置以适应订单表和时间段表的变化&#xff0c;然后详细描述了通过责任链模式优化消息处理逻辑的方法&#xff0c;确保能够灵活应对不同数据表的更新需求…

内容中台实施最佳实践解析与应用指南

内容概要 内容中台是一个旨在提升企业内容管理与分发能力的战略性平台&#xff0c;其实施最佳实践对于企业在数字化转型中尤为重要。内容中台的建设&#xff0c;不仅涉及技术层面的架构设计&#xff0c;还需结合组织变革、业务流程优化等多个方面&#xff0c;以实现高效、灵活…

顺序表和链表(详解)

线性表 线性表&#xff08; linear list&#xff09;是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构&#xff0c;常见的线性表&#xff1a;顺序表、链表、栈、队列、字符串... 线性表在逻辑上是线性结构&#xff0c;也就说是连续的一条直线。…