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

news2024/10/2 12:32:37

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.coloradmin.cn/o/1362378.html

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

相关文章

html5中各标签的语法格式总结以及属性值说明

有关闭标签的元素 a元素 <a href"" target"" title""></a>表格相关元素 table元素&#xff1a;表格标签caption元素&#xff1a;表头thead元素tbody元素&#xff1a;表格主体元素tfoot元素th元素tr元素&#xff1a;行标签td元素&…

vue2 消息弹框

父页面 <template><div style"margin-top: 20px"><div class"nav-style msg-style"><el-badge :value"value" :max"99" class"num" v-if"value > 0"><i class"el-icon-bell&…

虾皮怎么选品:虾皮(Shopee)跨境电商业务成功的关键步骤

在虾皮&#xff08;Shopee&#xff09;平台上进行跨境电商业务&#xff0c;选品是至关重要的一环。有效的选品策略可以帮助卖家更好地了解市场需求&#xff0c;提高销售业绩和客户满意度。以下是一些成功的选品策略&#xff0c;可以帮助卖家在虾皮平台上取得更好的业务成绩。 先…

Unix操作系统的前世今生

Unix是一种多用户、多任务操作系统&#xff0c;最初由AT&T贝尔实验室的肯汤普逊&#xff08;Ken Thompson&#xff09;和丹尼斯里奇&#xff08;Dennis Ritchie&#xff09;等人开发于上世纪70年代初。它被设计成一种通用的操作系统&#xff0c;支持跨多种硬件平台&#xf…

Linux磁盘、网络信息监控、df命令、iostat命令、sar命令

通过df命令可以查看磁盘的使用情况 形式&#xff1a;df [-h] -h&#xff1a;以更加人性化的单位显示 通过iostat命令查看CPU、磁盘的相关信息 形式&#xff1a;iosrtat [-x] [num1] [num2] -x&#xff1a;显示更多信息 num1&#xff1a;刷新间隔 num2&#xff1a;刷新次数…

UAV | 多算法在多场景下的无人机路径规划(Matlab)

近年来&#xff0c;无人机(unmanned aerial vehicle&#xff0c;UAV)由于其灵活度高、机动性强、安全风险系数小、成本低等特点&#xff0c;被广泛应用于搜索巡逻、侦察监视、抢险救灾、物流配送、电力巡检、农业灌溉等军用或民用任务。路径规划是无人机执行任务的关键&#xf…

我的NPI项目之设备系统启动(二) -- 系统启动阶段和分区的区别

系统启动的就几大阶段&#xff1a; 基于高通平台的Android OS启动过程&#xff0c;简单的说&#xff0c;可以分为一下几个部分&#xff1a; 之前一个比较老的平台大概是这样&#xff1a; 现在比较新的5G平台&#xff1a; 差别在这里&#xff0c;重点了解一下新平台的情况。xb…

Java BIO、NIO、AIO、Netty知识详解(值得珍藏)

1. 什么是IO Java中I/O是以流为基础进行数据的输入输出的&#xff0c;所有数据被串行化(所谓串行化就是数据要按顺序进行输入输出)写入输出流。简单来说就是java通过io流方式和外部设备进行交互。 在Java类库中&#xff0c;IO部分的内容是很庞大的&#xff0c;因为它涉及的领…

深度学习 Day24——J3-1DenseNet算法实战与解析

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制&#x1f680; 文章来源&#xff1a;K同学的学习圈子 文章目录 前言1 我的环境2 pytorch实现DenseNet算法2.1 前期准备2.1.1 引入库2.1.2 设…

静态网页设计——宠物狗狗网(HTML+CSS+JavaScript)

前言 声明&#xff1a;该文章只是做技术分享&#xff0c;若侵权请联系我删除。&#xff01;&#xff01; 感谢大佬的视频&#xff1a; https://www.bilibili.com/video/BV1nk4y1X74M/?vd_source5f425e0074a7f92921f53ab87712357b 使用技术&#xff1a;HTMLCSSJS&#xff08;…

【Java EE初阶六】多线程案例(单例模式)

1. 单例模式 单例模式是一种设计模式&#xff0c;设计模式是我们必须要掌握的一个技能&#xff1b; 1.1 关于框架和设计模式 设计模式是软性的规定&#xff0c;且框架是硬性的规定&#xff0c;这些都是技术大佬已经设计好的&#xff1b; 一般来说设计模式有很多种&#xff0c;…

ROS-arbotix安装

方式一&#xff1a;命令行输入&#xff1a; sudo apt-get install ros-melodic-arbotix如果ROS为其他版本&#xff0c;可将melodic替换为对应版本。 方式二&#xff1a; 先从 github 下载源码&#xff0c;然后调用 catkin_make 编译 git clone https://github.com/vanadiumla…

如何把硬盘(分区)一分为二?重装系统的小伙伴不可不看

注意事项&#xff1a;本教程操作不当会导致数据丢失 请谨慎操作 请谨慎操作 请谨慎操作 前言 相信各位小伙伴都会切土豆吧&#xff0c;本教程就是教大家如何切土豆切得好的教程。 啊哈哈哈&#xff0c;开玩笑的。 比如你有一个D盘是200GB&#xff0c;想要把它变成两个100G…

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

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

商品加入购物篮后就一定能买到?

笔者今天在某网站购买商品时&#xff0c;将商品添加到购物车之后&#xff0c;耽搁了几分钟之后&#xff0c;就发现支付时提示库存不足&#xff0c;我想很多朋友肯定知道平台为啥这样设计&#xff1f;但是我还是想借着这件事来简单介绍一下&#xff0c;有不足之处&#xff0c;还…

HPM6750开发笔记《DMA接收和发送数据UART例程深度解析》

目录 概述&#xff1a; 端口设置&#xff1a; 代码分析&#xff1a; 运行现象&#xff1a; 概述&#xff1a; DMA&#xff08;Direct Memory Access&#xff09;是一种计算机系统中的数据传输技术&#xff0c;它允许数据在不经过中央处理器&#xff08;CPU&#xff09;的直…

虾皮长尾词工具:如何使用关键词工具优化Shopee产品的长尾关键词

在Shopee&#xff08;虾皮&#xff09;平台上&#xff0c;卖家们都希望能够吸引更多的潜在买家&#xff0c;提高产品的曝光率和转化率。而要实现这一目标&#xff0c;了解和使用长尾关键词是非常重要的。本文将介绍长尾关键词的定义、重要性以及如何使用关键词工具来优化Shopee…

【LeetCode:11. 盛最多水的容器 | 双指针】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

数字孪生在增强现实(AR)中的应用

数字孪生在增强现实&#xff08;Augmented Reality&#xff0c;AR&#xff09;中的应用可以提供更丰富、交互性更强的现实世界增强体验。以下是数字孪生在AR中的一些应用&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff…

【C++】STL 算法 ④ ( 函数对象与谓词 | 一元函数对象 | “ 谓词 “ 概念 | 一元谓词 | find_if 查找算法 | 一元谓词示例 )

文章目录 一、函数对象与谓词1、一元函数对象2、" 谓词 " 概念3、find_if 查找算法 二、一元谓词示例1、代码示例 - 一元谓词示例2、执行结果 一、函数对象与谓词 1、一元函数对象 " 函数对象 " 是通过 重载 函数调用操作符 () 实现的 operator() , 函数对…