-
DataGridView控件绑定列表
// 禁止用户改变DataGridView1的所有列的列宽
DataGridView1.AllowUserToResizeColumns = false;
//禁止用户改变DataGridView1所有行的行高
DataGridView1.AllowUserToResizeRows = false;
//选中整行
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
//默认选中行
dataGridView1.Rows[0].Selected = true;//设置选中行
//关闭添加行
dataGridView1.AllowUserToAddRows = false;
//界面布局
Anchor:
Top——表示控件中与父窗体(或父控件)相关的顶部应该保持固定。
Bottom——表示控件中与父窗体(或父控件)相关的底边应该保持固定。
Left——表示控件中与父窗体(或父控件)相关的左边缘应该保持固定。
Right——表示控件中与父窗体(或父控件)相关的右边缘应该保持固定。
Dock:dock属性使得你能够在父窗体中让子窗体可以在上方(或旁边)互相“堆叠”
Top——迫使控件位于父窗体(或控件)的顶部。
Bottom——迫使控件位于父窗体(或控件)的底部。
Left——迫使控件位于父窗体(或控件)的左边。
Right——迫使控件位于父窗体(或控件)的右边。
Fill——迫使控件位于父窗体(或控件)的上方。
None——表示控件将会正常运转。
//可见列自动调整大小(列全显示在页面上)
dataGridView1.AutoSizeColumnsMode=Fill;
//固定列,显示横向滚动条
dataGridView1.AutoSizeColumnsMode=None;
调整单个列width,当表头宽度>dataGridView宽度时横向滚动条显示
//行标题列隐藏
dataGridView1.RowHeaderVisible=false;
//绑定数据(不直接连接数据库,由服务器端传参处理数据,绑定dataGridView)
DataTable dt = new DataTable();//DataTable绑定数据
dt.Columns.Add("SlotID", typeof(string));
dt.Columns.Add("Count", typeof(int));
dt.Rows.Add(new object[] { 1, 998, "95%" });
int i = 0;
foreach (DataRow row in dt.Rows)
{
this.dataGridView1.Rows.Insert(i, row["SlotID"], row["Count"], row["Yield"]);
i++;
}
图:
//循环遍历并重新给dataGridView1表头赋值
for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
dataGridView1.Columns[i].HeaderCell.Value ="XXXX";
}
-
pictureBox
pictureBox_Paint事件中
Graphics g = e.Graphics;//声明绘画
//绘制椭圆、圆
g.DrawEllipse(Pens.Black, x, y, width,height);
//绘制直线
g.DrawLine(Pens.Black, x1, y1, x2, y2);
//填充矩形,Brushes.Gray为填充颜色
Rectangle rect = new Rectangle(new Point(x, y), new Size(width,height));
g.FillRectangle(Brushes.Gray, rect);
-
treeview
treeview的节点click事件treeView1_NodeMouseClick,可做列表点击不同节点触发事件用。
private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
switch (e.Node.Text)
{
case "Language SETTING":
case "语言设置":
Setting s = new Setting();
s.Owner = this;
s.ShowDialog();
break;
}
}
图:
//给treeView绑定值,此处用的是List集合赋值
private void getDate()
{
treeView1.Nodes.Clear();//清空节点
//获取菜单列表
MenuList m = new MenuList();
List<DemoClass> dic = m.liset.Where(r => r.Id<10).OrderBy(r => r.Id).ToList();//获取节点,获取id<10,作为节点
//对节点进行遍历
foreach (DemoClass kv in dic)
{
TreeNode newnode = new TreeNode();
newnode.Name = kv.Name;
newnode.Text = kv.Name;
this.treeView1.Nodes.Add(newnode);
List<DemoClass> dic1 = m.liset.Where(r => r.Id.ToString().StartsWith(kv.Id.ToString())&&r.Id!=kv.Id).OrderBy(r => r.Id).ToList();//获取子节点,获取以父节点为开始的子节点
//对子节点进行遍历
foreach (DemoClass kc in dic1)
{
TreeNode newnode1 = new TreeNode();
newnode.Name = kv.Name;
newnode1.Text = kc.Name;
this.treeView1.Nodes[kv.Name].Nodes.Add(newnode1);
}
}
}
//循环遍历并重新给treeView1节点、子节点赋值(此处示例只有一层子节点)
foreach (TreeNode tn in treeView1.Nodes)
{
tn.Text="节点";
foreach (TreeNode tc in tn.Nodes)
{
tc.Text =“子节点”;
}
}
//清空节点treeView1.Nodes.Clear();
//打开treeView1节点treeView1.ExpandAll();