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

2024-01-07 21:41:35

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();
 }

文章来源:https://blog.csdn.net/qq_51810680/article/details/135432251
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。