一.ImageList:存储图像集合

Images 存储的所有图像
ImageSize 图像的大小
ColorDepth 颜色数
TransparentColor 被视为透明的颜色
先设置ColorDepth、ImageSize属性值再添加图片,反之不能更改这两个属性值

二.ListView:存储项集合

Items ListView中的项
View 指定那种视图显示
LargeImageList 大图标图像的ImageList控件
SmallImageList 小图标图像的ImageList控件

三.ContextMenuStrip

Items 快捷菜单项的集合
DisplayStyle 每一项显示的状态(文字,图像)

在控件上选择ContextMenuStrip属性绑定快捷菜单

四.动态绑定ListView中的数据

#region 动态绑定ListView中的数据

//定位到父项
ListViewItem itemc = new ListViewItem("C盘:",0);
//第一种:通过父项.SubItems.Add()添加单个子项
itemc.SubItems.Add("本地磁盘");
itemc.SubItems.Add("250GB");
itemc.SubItems.Add("1KB");

ListViewItem itemd = new ListViewItem("D盘:",1);
//方式二:通过父项.SubItems.AddRange()添加多个子项
itemd.SubItems.AddRange(new string[]{"本地磁盘","1TB","250GB"});

//最后一步:将父项以及父项的子项集合添加到ListView当中
this.lvwindows.Items.Add(itemc);
this.lvwindows.Items.Add(itemd);

//通过下标定位到父项然后添加子项列表数据
ListViewItem iteme = this.lvwindows.Items[2];
iteme.SubItems.AddRange(new string[] { "本地磁盘", "1TB", "250GB" });

#endregion

五.动态从数据库获取数据绑定
string constr = "Data Source=.;Initial Catalog=SchoolDB;User ID=sa;Password=.";
SqlConnection con = new SqlConnection(constr);
try
{
con.Open();
string sql = @"select Grade.*,Student.* from Grade,Student where Grade.GradeId=Student.GradeId
and Student.StudentName like '%"+this.txtName.Text+"%' ";

SqlCommand com = new SqlCommand(sql,con);
SqlDataReader reader=com.ExecuteReader();
//判断读取出来的数据为不为空
if (reader.HasRows) {
while(reader.Read()){
ListViewItem item = new ListViewItem(reader["StudentNo"].ToString());
item.SubItems.AddRange(new string[] { reader["StudentName"].ToString(), reader["Sex"].ToString(), reader["GradeName"].ToString() });
item.Tag = (int)reader["StudentNo"];
this.lvStudentList.Items.Add(item);
}
}

}
catch (Exception x)
{
MessageBox.Show(x.ToString());
}
finally {
con.Close();
}

获取选中项的Tag值:this.lvStudentList.SelectedItems[0].Tag.ToString()

C#第三章的更多相关文章

  1. [Effective Java]第三章 对所有对象都通用的方法

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  2. 对于所有对象都通用方法的解读(Effective Java 第三章)

    这篇博文主要介绍覆盖Object中的方法要注意的事项以及Comparable.compareTo()方法. 一.谨慎覆盖equals()方法 其实平时很少要用到覆盖equals方法的情况,没有什么特殊 ...

  3. 【C++】《Effective C++》第三章

    第三章 资源管理 条款13:以对象管理资源 当申请一块动态内存时,可能会发生内存泄漏. class Investment {}; void f() { Investment* pInv = creat ...

  4. 《Effective Java 第三版》新条目介绍

    版权声明:本文为博主原创文章,可以随意转载,不过请加上原文链接. https://blog.csdn.net/u014717036/article/details/80588806前言 从去年的3月份 ...

  5. 【软件构造】第三章第三节 抽象数据型(ADT)

    第三章第三节 抽象数据型(ADT) 3-1节研究了“数据类型”及其特性 ; 3-2节研究了方法和操作的“规约”及其特性:在本节中,我们将数据和操作复合起来,构成ADT,学习ADT的核心特征,以及如何设 ...

  6. 《Django By Example》第三章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:第三章滚烫出炉,大家请不要吐槽文中 ...

  7. 《Linux内核设计与实现》读书笔记 第三章 进程管理

    第三章进程管理 进程是Unix操作系统抽象概念中最基本的一种.我们拥有操作系统就是为了运行用户程序,因此,进程管理就是所有操作系统的心脏所在. 3.1进程 概念: 进程:处于执行期的程序.但不仅局限于 ...

  8. Python黑帽编程3.0 第三章 网络接口层攻击基础知识

    3.0 第三章 网络接口层攻击基础知识 首先还是要提醒各位同学,在学习本章之前,请认真的学习TCP/IP体系结构的相关知识,本系列教程在这方面只会浅尝辄止. 本节简单概述下OSI七层模型和TCP/IP ...

  9. 《Entity Framework 6 Recipes》中文翻译系列 (11) -----第三章 查询之异步查询

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第三章 查询 前一章,我们展示了常见数据库场景的建模方式,本章将向你展示如何查询实体 ...

  10. 《Entity Framework 6 Recipes》中文翻译系列 (19) -----第三章 查询之使用位操作和多属性连接(join)

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 3-16  过滤中使用位操作 问题 你想在查询的过滤条件中使用位操作. 解决方案 假 ...

随机推荐

  1. 剑指offer33:求按从小到大的顺序的第N个丑数。

    1 题目描述 把只包含质因子2.3和5的数称作丑数(Ugly Number).例如6.8都是丑数,但14不是,因为它包含质因子7. 习惯上我们把1当做是第一个丑数.求按从小到大的顺序的第N个丑数. 2 ...

  2. Elastic Search快速上手(2):将数据存入ES

    前言 在上手使用前,需要先了解一些基本的概念. 推荐 可以到 https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.htm ...

  3. 在论坛中出现的比较难的sql问题:45(用户在线登陆时间的小时、分钟计算问题)

    原文:在论坛中出现的比较难的sql问题:45(用户在线登陆时间的小时.分钟计算问题) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了. ...

  4. .netCore 动态织入

    using Microsoft.Extensions.DependencyInjection; using System; using System.Reflection; namespace Aop ...

  5. 转:common.js 常用js公共函数库

    转自其他博主,自己开发备用 var h = {}; h.get = function (url, data, ok, error) { $.ajax({ url: url, data: data, d ...

  6. 你不知道的JSON.stringify知识点

    1. 定义 stringify 函数的定义: JSON.stringify(value [, replacer [, space]]) 参数: value : 将要转为JSON字符串的javascri ...

  7. MySQL库的相关操作

    再熟悉一下Mysql库.表.记录的基本操作. 库 增 create database userinfo1 charset utf8; 查 show databases; show create dat ...

  8. Linux下安装php 扩展fileinfo

    在项目初始部署环境的时候,可能考虑的并不全面,就会少装一些扩展,这里讲解如何添加fileinfo扩展 1.找到php安装的压缩包 2.将压缩包cp到 /data目录下,并解压 cp php-7.0.3 ...

  9. Flutter——TabBar组件(顶部Tab切换组件)

    TabBar组件的常用属性: 属性 描述 tabs 显示的标签内容,一般使用 Tab 对象,也可以是其他的Widget  controller TabController 对象 isScrollabl ...

  10. C++——virtual function

    无论是pure virtual还是impure virtual,都允许子类override他.但是真两种方式还是有一点差别,如果是pure virtual,那么父类是十分强烈希望子类override他 ...