c# WindowForm练习项目主窗体设计

2023-05-16

窗体分割器

SpliContainer分割器
在项目主窗体分割成左右俩部分。

这里写图片描述

设置边框线属性

这里写图片描述


MonthCalendar月历控件

这里写图片描述


添加程序所需要的按钮
退出,修改密码,添加会员…..按钮

这里写图片描述

固定好左边的容器
这里写图片描述


组件–ImageList

按钮太多添加图标太麻烦了这时需要这个组件,拖放到主窗体中。

这里写图片描述

然后把按钮所需的图标全部添加到组件ImageList中

这里写图片描述

这里写图片描述

这里写图片描述


添加paenl2的背景图片、图片设置填充

这里写图片描述

这里写图片描述


添加标题字体样式

label文本标签
这里写图片描述


这里写图片描述


添加新学员窗体设计

这里写图片描述


子窗体嵌入父容器的方法

这里写图片描述

这里写图片描述

在打开前先关闭其它已经打开的窗口
每次点击按钮时都打开窗口 多次点击程序会运行多个窗口这时需要优化代码

这里写图片描述

以下按钮都是重用了代码的复用 发觉打开跟关闭都是相同的代码
这时可以把代码封装成关闭打开方法。
符合oop编程

这里写图片描述

public partial class FrmMain : Form
    {
        public FrmMain()
        {
            InitializeComponent();
        }

        //关闭已经存在的窗体方法
        public void CloseParForm()
        {
            //判断当前容器中是否已经存在窗体
            foreach (Control item in this.splitContainer1.Panel2.Controls)
            {
                if (item is Form)
                {
                    Form objControl = (Form)item;
                    objControl.Close();
                }
            }
        }

        //嵌入父容器方法
        public void OpenForm(Form objFrm)
        {
            objFrm.TopLevel = false;//子窗体设为非顶级控件
            //让窗体最大化显示
            objFrm.WindowState = FormWindowState.Maximized;
            //去掉窗体的边框
            objFrm.FormBorderStyle = FormBorderStyle.None;
            //指定子窗体显示的容器
            objFrm.Parent = this.splitContainer1.Panel2;
            objFrm.Show();//显示窗体
        }

        //双击添加学员按钮事件
        private void btnAddStudenet_Click(object sender, EventArgs e)
        {
            //首先判断当前容器中是否已经存在窗体如果存在则关闭
            CloseParForm();

            OpenForm(new FrmAddStudent());

        }

        //学员管理按钮事件
        private void btnStuManage_Click(object sender, EventArgs e)
        {
            CloseParForm();//首先判断当前容器中是否已经存在窗体如果存在则关闭
            OpenForm(new FrmUserLogion());//调用嵌入父容器方法
        }



    }

这里写图片描述


学员信息管理窗体设计

DataGridView数据控件

把默认勾选项去掉

这里写图片描述


添加列

这里写图片描述

这里写图片描述


设置列宽 ,最后列自动填充

这里写图片描述

这里写图片描述


设置列高度

这里写图片描述


列文字居中

这里写图片描述

这里写图片描述


列背景色

这里写图片描述


这里写图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

c# WindowForm练习项目主窗体设计 的相关文章

随机推荐

  • 静态链接库lib和动态链接库ddl的区别和联系

    静态链接库lib和动态链接库ddl的区别 联系 xff1a 都是在链接阶段使用的 区别 xff1a 不同的是静态链接库中的代码会直接放到exe中 xff0c 而动态链接库在使用时才会被加载到这个exe执行的内存空间 xff0c 所以使用静态
  • 单片机与上位机的串行通信

    写在前面 这篇博客主要记录下单片机是如何通过TXD RXD与上位机进行数据交换的 先介绍下51单片机中与串口通信有关的各种寄存器 首先 xff0c 上位机如果要发送数据给单片机 xff0c 单片机接收到数据之后 xff0c 会存入到SBUF
  • 【C++知识】关于迭代器失效的几种情况

    前言 关于面试时有被问到过这类问题 xff0c 当时由于只一知半解 xff0c 回答的不是特别好 xff0c 所以今天自己特意来实验一下 希望能帮助大家有同样疑惑的人解答疑惑 xff01 目录 关于迭代器失效的几种情况 1 序列式容器迭代器
  • Yolov3+C+++opencv+VS2015成功检测

    nbsp 前言 nbsp nbsp nbsp 最近在用yolov3进行目标检测 也有一个多星期了 想把最近做出的一些成果记录下来 供大家参考下 我的运行环境是C opencv VS2015 yolov3 下面将简单介绍下yolo的一些思想
  • simulink之S函数

    s函数是system Function的简称 xff0c 用它来写自己的simulink模块 xff08 够简单吧 xff0c xff0c 详细的概念介绍大伙看帮助吧 xff09 可以用matlab C C 43 43 Fortran Ad
  • win10解决未安装任何音频输出设备

    最近刚刚更新了一下win10系统 xff0c 开始啥问题没有 xff0c 晚上睡觉关机后 xff0c 第二天开机 xff0c 小喇叭处有一个红叉 xff0c 显示未安装任何音频输出设备 查看了微软的官网以及百度了很多解决方法 xff0c 电
  • Quadcopter控制

    1 问题描述 四旋翼飞行器对角线上的两个电机旋转方向相同 xff0c 另一对与之旋转方向相反 这是使推力 xff0c 滚转 xff0c 俯仰 xff0c 偏航相互独立控制的必要条件 这可以使我们命令其中的一个动作而不影响其他动作 实际上 x
  • 入门级都能看懂的softmax详解

    项目github地址 xff1a bitcarmanlee easy algorithm interview and practice 经常有同学私信或留言询问相关问题 xff0c V号bitcarmanlee github上star的同学
  • LQR制导

    LQR制导 引言 在ardupilot中固定翼飞机横航向位置控制 xff08 制导律 xff09 采用L1制导律 xff0c 最近想将一些其他的控制理论用于ardupilot代码中 xff0c 通过ardupilot论坛 xff0c 看到已
  • 2022年度总结

    年度总结 参加工作的第一年很快就过去了 xff0c 从四月份离校到公司 xff0c 直到农历腊月27回家 xff0c 工作了9个月的时间 xff0c 总的来说工作和学习的差别还是很大的 xff0c 从学生到社畜的转换还是花了一段时间的 接下
  • HTTP基本认证

    在HTTP中 xff0c 基本认证 xff08 英语 xff1a Basic access authentication xff09 是允许http用户代理 xff08 如 xff1a 网页浏览器 xff09 在请求时 xff0c 提供 用
  • c# 设置代理服务器发送http请求

    span class token keyword using span span class token namespace System span span class token punctuation span span class
  • Blaze:高性能C++数学库

    Blaze xff1a 高性能C 43 43 数学库 本文译自 xff1a Blaze A high performance C 43 43 math library Blaze是一个用于密集和稀疏算法的开源 高性能 C 43 43 数学库
  • c/c++编译:使用CMAKE进行跨平台开发

    前言 本文介绍跨平台cmake的编写 xff0c 主要是linux和windows用cmake对项目的编译 这是一个通用模板 xff0c 能够应用到更加复杂的项目中 xff0c 项目例子用https blog csdn net qq 364
  • 对于应用层HTTP协议的学习

    lt start gt 在TCP IP协议栈中 xff0c HTTP协议处于应用层 xff0c 它在最顶层进行数据报转发给应用进程 xff0c 它是最靠近用户的那一层 它的默认端口号为80 HTTP协议是基于请求响应的协议 xff0c 那么
  • 编程开发环境搭建

    全部目录 下载 amp 安装官方下载Vs2019其它历史 版本下载 开始使用安装C 43 43 的工作负载 xff08 环境 xff09 打开vs后有这些模板创建出一个控制台应用程序更多参考文档 使用手册c 43 43 参考手册Visual
  • c++创建第一个控制台程序

    目录 创建控制台应用程序打印出Hello World 空项目创建vs自带打印的创建桌面向导 自定义创建 了解代码 抛转引玉减少为什么 什么是 include 它是预处理指令什么是iostream 它是c 43 43 标准库头件 编写前的了解
  • python3-操作SQLite、创建表、添加数据、查询数据

    SQLlte数据类型 SQLite能保存什么样的数据类型 可以保存空值 整数 浮点数 字符串和blob 什么是blob xff1f xff1f 是二进制大对象 例如图片 音乐 zip文件 什么是游标 游标是在数据库中用来移动和执行查询的对象
  • 初学者都能看懂的95%置信区间

    项目github地址 xff1a bitcarmanlee easy algorithm interview and practice 经常有同学私信或留言询问相关问题 xff0c V号bitcarmanlee github上star的同学
  • c# WindowForm练习项目主窗体设计

    窗体分割器 SpliContainer分割器 在项目主窗体分割成左右俩部分 设置边框线属性 MonthCalendar月历控件 添加程序所需要的按钮 退出 修改密码 添加会员 按钮 固定好左边的容器 组件 ImageList 按钮太多添加图