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
:指定哪个面板将保持固定大小,而另一个面板将被调整大小。Panel1
和Panel2
: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();
}