C#关于ListView控件中对数据排序或统计功能应用
在ListViewItemComparer.cs类中输入;
class ListViewItemComparer : IComparer
{
private int col;
public ListViewItemComparer()
{
col = 0;
}
public ListViewItemComparer(int column)
{
col = column;
}
public int Compare(object x, object y)
{
return String.Compare(((ListViewItem)x).SubItems[col].Text, ((ListViewItem)y).SubItems[col].Text);
}
}
在窗体代码中输入;
private void Form1_Load(object sender, EventArgs e)
{
getScoure("select * from tb_05");
}
public void getScoure(string strName)
{
SqlConnection con = new SqlConnection("server=(local);uid=sa;pwd=sa;database=数据库名称");
con.Open();
SqlCommand com = new SqlCommand(strName, con);
SqlDataReader dr = com.ExecuteReader();
listView1.View = View.Details;
listView1.GridLines = true;
listView1.FullRowSelect = true;
listView1.Items.Clear();
while (dr.Read())
{
ListViewItem lv = new ListViewItem(dr[0].ToString());
lv.SubItems.Add(dr[1].ToString());
lv.SubItems.Add(dr[2].ToString());
listView1.Items.Add(lv);
}
dr.Close();
con.Close();
}
private void button1_Click(object sender, EventArgs e)
{
getScoure("select * from tb_05
}
private void button2_Click(object sender, EventArgs e)
{
getScoure("select * from tb_05 order by 销售数量 desc");
}
C#关于ListView控件在列表视图中拖动视图项功能应用
private void listView1_ItemDrag(object sender, ItemDragEventArgs e)
{//起动拖放放操作,设置拖放类型,为
listView1.DoDragDrop(listView1.SelectedItems, DragDropEffects.Move);
}
//选返要拖动的项
private void listView1_DragEnter(object sender, DragEventArgs e)
{//获取ListView类型数据
for (int i = 0; i <= e.Data.GetFormats().Length - 1; i++)
{
if(e.Data.GetFormats()[i].Equals("System.Windows.Forms.ListView+SelectedListViewItemColl
{
e.Effect = DragDropEffects.Move;
}
}
}
private void listView1_DragDrop(object sender, DragEventArgs e)
{
//判断是否选择拖放的项,
if (listView1.SelectedItems.Count == 0)
{
return;
}
//定义项的坐标点
Point cp = listView1.PointToClient(new Point(e.X, e.Y));//
ListViewItem dragToItem = listView1.GetItemAt(cp.X, cp.Y);
if (dragToItem == null)
{
return;
}
int dragIndex = dragToItem.Index;
ListViewItem[] sel = new ListViewItem[listView1.SelectedItems.Count];
for (int i = 0; i <= listView1.SelectedItems.Count - 1; i++)
{
sel[i] = listView1.SelectedItems[i];
}
for (int i = 0; i < sel.GetLength(0); i++)
{
ListViewItem dragItem = sel[i];
int itemIndex = dragIndex;
if (itemIndex == dragItem.Index)
{
return;
}
if (dragItem.Index < itemIndex)
itemIndex++;
else
itemIndex = dragIndex + i;
ListViewItem insertItem = (ListViewItem)dragItem.Clone();
listView1.Items.Insert(itemIndex, insertItem);
listView1.Items.Remove(dragItem);
}
}
C#关于treeView控件连接数据库的功能应用
treeView1.ShowLines = true;
treeView1.ImageList = imageList1;
SqlConnection con = new SqlConnection("server=(local);uid=sa;pwd=sa;database=db_02");
con.Open();
SqlCommand com = new SqlCommand("select * from tb_07", con);
SqlDataReader dr = com.ExecuteReader();
TreeNode newNode1 = treeView1.Nodes.Add("A","商品信息",1,2);//一级节点
while (dr.Read())
{
TreeNode newNode12 = new TreeNode("商品编号" + dr[1].ToString(),3,4);// 二级节点
}
dr.Close();
con.Close();
treeView1.ExpandAll();
注意:需要引用using System.Data. SqlClient;命名空间
C#关于treeView与listView的遍历磁盘目录的功能应用
private void Form1_Load(object sender, EventArgs e)
注意:需要引用using System.Text;和using System.IO;命名空间
C#关于TrackBar的简单功能应用
private void timer1_Tick(object sender, EventArgs e)
{
if (progressBar1.Value == progressBar1.Maximum)
//设置Timer控件Interval属性
private void trackBar1_Scroll(object sender, EventArgs e)
{
timer1.Interval = Convert.ToInt16(10000/trackBar1.Value);
}
//起动Timer控件
private void button1_Click(object sender, EventArgs e)
{
if (timer1.Enabled ==true)
{
timer1.Enabled = false;
button1.Text = "开始";
}
else
{
timer1.Enabled = true;
button1.Text = "停止";
}
}
注意:需要添加一个时间控件
C#关于动态添加控件功能的应用
public int counter = 1;
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
TextBox txtx=new TextBox();
//设定他的名称和Text属性,以及产生的位置
txtx.Left = e.X;
txtx.Top = e.Y;
txtx.Name = "TextBox " + counter;
txtx.Text = "文本框" + counter;
//为产生的新的TextBox组件设定事件,本文中为产生的文本框设定了2个事件
txtx.Click += new EventHandler(txtx_Click);
txtx.MouseEnter += new EventHandler(txtx_MouseEnter);
//在窗体中显示此文本框
this.Controls.Add(txtx);
counter++;
}
//定义事件
private void txtx_Click(object sender, System.EventArgs e)
{
if (sender.GetType() == typeof(TextBox))
{
TextBox control = (TextBox)sender;
MessageBox.Show(control.Text + "被按动了!");
}
}
private void txtx_MouseEnter(object sender, System.EventArgs e)
{
TextBox currentTextBox = (TextBox)sender;
//设定按钮的背景色
currentTextBox.BackColor = Color.Yellow;
}