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