窗体控件(表格和控制器)

DataGridView 控件

DataGridView控件是C#中的一个Windows Forms控件,用于在应用程序中显示和编辑表格形式的数据。

在这里插入图片描述

先拖出四个label控件和四个TextBox控件和一个ComboBox和一个Button按钮,下面是一个DataGridView控件

准备一个Student类

namespace _窗体控件_表格_ {//使用枚举定义性别public enum Gender {,}internal class Student {public int stuId { get; set; }public string stuName { get; set; }public int stuAge { get; set; }public double stuScore { get; set; }public Gender stuGender { get; set; }public Student(int _stuId, string _studName, int _studAge, double _studScore, Gender _gender) {this.stuId = _stuId;this.stuName = _studName;this.stuAge = _studAge;this.stuScore = _studScore;this.stuGender = _gender;}}
}
using System.Collections.Generic;
using System.Windows.Forms;namespace _窗体控件_表格_ {public partial class Form1 : Form {//准备一个DataGridView需要的List数据集合List<Student> stuList;public Form1() {InitializeComponent();stuList = new List<Student>() {new Student(101,"张三",18,79,Gender.),new Student(102,"李四",19,77,Gender.),new Student(103,"王五",18,68,Gender.),new Student(104,"小红",18,76,Gender.),};//DataSource 获取或设置数据源  this.dataGridView1.DataSource = stuList;//设置列标题this.dataGridView1.Columns[0].HeaderText = "学号";this.dataGridView1.Columns[1].HeaderText = "姓名";this.dataGridView1.Columns[2].HeaderText = "年龄";this.dataGridView1.Columns[3].HeaderText = "成绩";this.dataGridView1.Columns[4].HeaderText = "性别";}//点击按钮的时候触发的事件private void button1_Click(object sender, System.EventArgs e) {Gender gender = Gender.;switch (comboBox1.Text) {case "男":gender = Gender.;break;case "女":gender = Gender.;break;}//在列表中添加一个对象stuList.Add(new Student(int.Parse(IdInpud.Text), textBox1.Text, int.Parse(textBox3.Text), double.Parse(textBox2.Text),gender));//先将上次的 List 数据清空this.dataGridView1.DataSource = null;//在添加 List 数据this.dataGridView1.DataSource = stuList;}}
}

SplitContainer 它允许用户在应用程序中拖动分割条来调整两个面板之间的大小,可以用于制作具有可调节大小的区域的窗体。

在这里插入图片描述

主要属性:

  • Orientation:指定SplitContainer控件的方向(水平或垂直)。
  • FixedPanel:指定哪个面板将保持固定大小,而另一个面板将被调整大小。
  • Panel1Panel2:SplitContainer控件中的两个面板。

主要方法:

  • SetSplitterDistance:设置分隔条的位置(以像素为单位)。
  • GetSplitterDistance:获取当前分隔条的位置(以像素为单位)。
  • CollapsePanel:折叠指定的面板。
//先创建一个MenuStrip控件添加两个子菜单项(登录和退出)//在项目中添加两个窗体 (窗体Login 和 窗体Quit)private void 登录ToolStripMenuItem_Click(object sender, EventArgs e) {//加载Login页面Login login = new Login();//改成false之后就变成了子窗体,可以嵌套login.TopLevel = false;//让子窗体最大化显示(适应父窗体的大小)login.WindowState = FormWindowState.Maximized;//去除子窗体的边框样式login.FormBorderStyle = FormBorderStyle.None;//设置父窗体login.Parent = this.splitContainer1.Panel2; //显示login.Show();}private void 退出ToolStripMenuItem_Click(object sender, EventArgs e) {//加载quit页面Quit quit = new Quit();quit.TopLevel = false;quit.WindowState = FormWindowState.Maximized;quit.FormBorderStyle = FormBorderStyle.None;quit.Parent = this.splitContainer1.Panel1;quit.Show();}

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

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

相关文章

今日学习的 jdbc statement的增删改

首先要获取jdbc文件 Class.forName("com.mysql.jdbc.Driver"); 连接数据库&#xff08;数据库要提前打完在写增删改查&#xff09; Connection connection DriverManager.getConnection("jdbc:mysql://localhost:3306/db_day11","root","…

八大算法排序@堆排序(C语言版本)

目录 堆排序大堆排序概念算法思想建堆建堆核心算法建堆的代码 排序代码实现 小堆排序代码实现时间复杂度空间复杂度 特性总结 堆排序 堆排序借用的是堆的特性来实现排序功能的。大堆需要满足父节点大于子节点&#xff0c;因此堆顶是整个数组中的最大元素。小堆则相反&#xff0…

码农的周末日常---2024/1/6

上周总结 按照规划进行开发&#xff0c;处事不惊&#xff0c;稳稳前行 2024.1.6 天气晴 温度适宜 AM 睡觉前不建议做决定是真的&#xff0c;昨天想着睡到中午&#xff0c;今天九点多醒了&#xff0c;得了&#xff0c;不想睡了 日常三连吧&#xff0c;…

python渗透工具编写学习笔记:10、网络爬虫基础/多功能编写

目录 前言 10.1 概念 10.2 调度器/解析器 10.3 存储器/去重器 10.4 日志模块 10.5 反爬模块 10.6 代理模块 前言 在渗透工具中&#xff0c;网络爬虫有着不可忽视的作用&#xff0c;它能够快速而精准的搜寻、提取我们所需要的信息并按照我们所需要的格式排列&#xff0c;…

HTTP网络相关知识

1 第一步&#xff1a; URI(统一资源标识符) URL&#xff08;统一资源定位符&#xff09;URN&#xff08;统一资源名称&#xff09;&#xff1b; 2 传输协议&#xff1a; HTTP: 超文本传输协议 HTTPS: HTTP SSL&#xff08;加密证书&#xff09;相对于…

使用Vue3 + Vite创建uni-app项目(Webstorm)

使用Vue3 Vite创建uni-app项目&#xff08;Webstorm&#xff09; 参考&#xff1a;前端VUE3Vite UniAPP-- 框架搭建_uniapp vite-CSDN博客 // 参考github.com的库&#xff1a;https://github.com/dcloudio/uni-preset-vue npx degit dcloudio/uni-preset-vue#vite-ts vite-vu…

【SQL】delete 与 truncate 命令的区别

区别 truncatedelete属于 DDL(数据定义语言) 范畴属于 DML(数据操作语言) 范畴删除表数据&#xff0c;不能删除视图数据删除表数据&#xff0c;删除视图数据只可以梭哈删除通过 where 进行选择性删除不涉及事务处理删除表中数据涉及事务处理效率高、但无法撤销效率低&#xff…

【mars3d】new mars3d.layer.GeoJsonLayer({实现多孔面遮罩mask: true,

【mars3d】new mars3d.layer.GeoJsonLayer({实现多孔面遮罩 官网测试示例&#xff1a; 1.功能示例(Vue版) | Mars3D三维可视化平台 | 火星科技 测试代码&#xff1a; export function showDraw(isFlyTo) { removeLayer() const geoJsonLayer new mars3d.layer.GeoJsonLaye…

神经网络-搭建小实战和Sequential的使用

CIFAR-10 model structure 通过已知参数&#xff08;高、宽、dilation1、kernel_size&#xff09;推断stride和padding的大小 网络 import torch from torch import nnclass Tudui(nn.Module):def __init__(self):super(Tudui, self).__init__()self.conv1 nn.Conv2d(in_chan…

TSConfig 配置(tsconfig.json)

详细总结一下TSConfig 的相关配置项。个人笔记&#xff0c;仅供参考&#xff0c;欢迎批评指正&#xff01; 另外&#xff0c;如果想了解更多ts相关知识&#xff0c;可以参考我的其他笔记&#xff1a; vue3ts开发干货笔记ts相关笔记&#xff08;基础必看&#xff09;ts相关笔记…

LeetCode-有效的字母异位词(242)

题目描述&#xff1a; 给定两个字符串 s 和 t &#xff0c;编写一个函数来判断 t 是否是 s 的字母异位词。 注意&#xff1a;若 s 和 t 中每个字符出现的次数都相同&#xff0c;则称 s 和 t 互为字母异位词。 思路&#xff1a; 这题还是比较简单的&#xff0c;首先将两个字符…

快乐学Python,Python基础之代码复用?「函数」

上一篇文章中&#xff0c;我们了解了代码的分支结构&#xff08;if 家族语句&#xff09;和循环结构&#xff08;for 循环和 while 循环&#xff09;。通过了解这些结构&#xff0c;我们已经能够写出稍微复杂一些的代码。但当代码一多&#xff0c;就会遇到一些问题。 上一篇文…

盖子的c++小课堂——第二十三讲:背包问题

前言 又是一次漫长的更新&#xff08;我真不是故意的aaaaaaaaaaaaaaa&#xff09;&#xff0c;先不多说了&#xff0c;直接给我~坐下~说错了说错了&#xff0c;直接开始~ 背包问题----动态规划 背包问题&#xff08;knapsack problem&#xff09; 动态规划&#xff08;dyna…

基于python的leetcode算法介绍之动态规划

文章目录 零 算法介绍一 例题介绍 使用最小花费爬楼梯问题分析 Leetcode例题与思路[118. 杨辉三角](https://leetcode.cn/problems/pascals-triangle/)解题思路题解 [53. 最大子数组和](https://leetcode.cn/problems/maximum-subarray/)解题思路题解 [96. 不同的二叉搜索树](h…

企业出海数据合规:GDPR中的个人数据与非个人数据之区分

GDPR仅适用于个人数据&#xff0c;这意味着非个人数据不在其适用范围内。因此&#xff0c;个人数据的定义是一个至关重要的因素&#xff0c;因为它决定了处理数据的实体是否要遵守该法规对数据控制者规定的各种义务。尽管如此&#xff0c;什么是个人数据仍然是当前数据保护制度…

uniapp微信小程序投票系统实战 (SpringBoot2+vue3.2+element plus ) -小程序首页实现

锋哥原创的uniapp微信小程序投票系统实战&#xff1a; uniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )_哔哩哔哩_bilibiliuniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )共计21条视频…

Docker 镜像以及镜像分层

Docker 镜像以及镜像分层 1 什么是镜像2 Docker镜像加载原理2.1 UnionFs&#xff1a;联合文件系统2.2 Docker镜像加载原理2.3 Docker镜像的特点 3 镜像的分层结构4 可写的容器层 1 什么是镜像 镜像是一种轻量级、可执行的独立软件包&#xff0c;用来打包软件运行环境和基于运行…

数据处理四 基于图像hash进行数据整理(删除重复图片、基于模版查找图片)

一、背景知识 1.1 什么是hash Hash&#xff0c;一般翻译做“散列”&#xff0c;也有直接音译为“哈希”的&#xff0c;基本原理就是把任意长度的输入&#xff0c;通过Hash算法变成固定长度的输出。这个映射的规则就是对应的Hash算法&#xff0c;而原始数据映射后的二进制串就…

程序员必知!命令模式的实战应用与案例分析

命令模式是一种行为设计模式&#xff0c;它将请求封装为对象以实现客户端参数化、请求排队、日志记录及撤销操作&#xff0c;旨在解耦调用者与操作实现者&#xff0c;以智能家居为例&#xff0c;用户通过界面发送命令对象&#xff0c;设备作为接收者执行相应操作&#xff0c;无…

Ubuntu 安装Nginx服务

文章目录 前言一、Nginx安装1. Nginx默认安装2. Nginx指定版本安装3. Nginx验证4. Nginx服务控制4.1 查看服务状态4.2 停止服务4.3 启动服务4.4 重启服务 5. Nginx文件存放目录 二、自己编译Nginx1. 下载源码2. 依赖配置3. 编译 三、Nginx卸载总结 前言 Nginx&#xff08;发音为…