建议先观看最新视频教程:
DataGridView控件的创建和使用
http://www.visualget.com/article/214
要给窗体中添加控件,可以在工具箱里把需要创建的控件拖拽到窗体中,也可以通过代码的方式动态创建,由于EXE开发使用的是C#语言,支持直接调用微软winform桌面开发中的控件,有些不常用的winform控件虽然在工具箱里没有显示,但通过代码方式也是可以使用的。下面以DataGridView表格控件为例,介绍如何通过代码的方式创建控件。
首先新建一个空白模板的项目,通过拖拽控件方式创建两个按钮和一个Panel控件
在主窗体类中定义一个DataGridView类型的变量并实例化
DataGridView dataGridView1 = new DataGridView();
dataGridView1变量就是我们刚创建好的控件对象,双击主窗体标题位置自动创建窗体载入方法,完成后如下图
然后在窗体Load方法中定义dataGridView1的各项属性,创建列和行。不熟悉DataGridView用法的可以百度搜索"C# winform DataGridView",我这里就不一样解析了,直接上代码。
void 主窗口_Load(object sender, EventArgs e)
dataGridView1.AllowUserToAddRows = false;
dataGridView1.Name = "dataGridView1";
dataGridView1.Dock = DockStyle.Fill;
panel1.Controls.Add(dataGridView1);
dataGridView1.Columns.Add("col1", "普通文本列");
dataGridView1.Columns.Add(new DataGridViewCheckBoxColumn() { Name="col2", HeaderText="复选框列" });
DataGridViewComboBoxColumn colCombobox = new DataGridViewComboBoxColumn();
colCombobox.Name = "col3";
colCombobox.HeaderText = "下拉框列";
colCombobox.Items.Add("下拉选项一");
colCombobox.Items.Add("下拉选项二");
colCombobox.Items.Add("下拉选项三");
dataGridView1.Columns.Add(colCombobox);
dataGridView1.Columns.Add(new DataGridViewLinkColumn() { Name="col4", HeaderText="删除" });
dataGridView1.Rows.Add(new object[] { "第1行内容", "True", "下拉选项二", "删除"});
dataGridView1.Rows.Add(new object[] { "第2行内容", true, "下拉选项三", "删除"});
dataGridView1.Rows.Add(new object[] { "第3行内容", true, "下拉选项一", "删除"});
dataGridView1.CellContentClick += new DataGridViewCellEventHandler(dataGridView1_CellContentClick);
}
注意Load中最后一行我们定义了表格单元格内容被单击时执行dataGridView1_CellContentClick方法,在该方法中我们可以定义单元格中的控件被点击时执行哪些代码,比如最后一列中的删除按钮的点击事件。
void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
if(e.ColumnIndex == 3)
dataGridView1.Rows.RemoveAt(e.RowIndex);
}
最后双击增加行和删除行,完成相应的功能代码。
完整代码如下
using System;
using System.ComponentModel;
using System.Windows.Forms;
namespace VGEXEDesigner
public partial class 主窗口 : Form
DataGridView dataGridView1 = new DataGridView();
void 主窗口_Load(object sender, EventArgs e)
dataGridView1.AllowUserToAddRows = false;
dataGridView1.Dock = DockStyle.Fill;
panel1.Controls.Add(dataGridView1);
dataGridView1.Columns.Add("col1", "普通文本列");
dataGridView1.Columns.Add(new DataGridViewCheckBoxColumn() { Name="col2", HeaderText="复选框列" });
DataGridViewComboBoxColumn colCombobox = new DataGridViewComboBoxColumn();
colCombobox.Name = "col3";
colCombobox.HeaderText = "下拉框列";
colCombobox.Items.Add("下拉选项一");
colCombobox.Items.Add("下拉选项二");
colCombobox.Items.Add("下拉选项三");
dataGridView1.Columns.Add(colCombobox);
dataGridView1.Columns.Add(new DataGridViewLinkColumn() { Name="col4", HeaderText="删除" });
dataGridView1.Rows.Add(new object[] { "第1行内容", "True", "下拉选项二", "删除"});
dataGridView1.Rows.Add(new object[] { "第2行内容", true, "下拉选项三", "删除"});
dataGridView1.Rows.Add(new object[] { "第3行内容", true, "下拉选项一", "删除"});
dataGridView1.CellContentClick += new DataGridViewCellEventHandler(dataGridView1_CellContentClick);
void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
if(e.ColumnIndex == 3)
dataGridView1.Rows.RemoveAt(e.RowIndex);
void BtnDelRow_Click(object sender, EventArgs e)
if (dataGridView1.SelectedCells.Count > 0)
dataGridView1.Rows.RemoveAt(dataGridView1.SelectedCells[0].RowIndex);
void BtnAddRow_Click(object sender, EventArgs e)
dataGridView1.Rows.Add(new object[] { string.Format("第{0}行内容",dataGridView1.Rows.Count + 1), "True", "下拉选项二", "删除"});
}
下面是完整项目源码
,需要的可以下载
DataGridView控件示例.rar