小袁C#可视化(8)——Windows高级控件

1、TreeView控件

  • Tree View控件可以为用户显示节点层次结构,就想在Windows资源管理器功能的左创个中显示文件和文件夹一样。树视图中的各个节点可能包含其他节点。称为子节点。用户可以按照展开或折叠的方式显示父节点或包含子节点的节点。通过将树是的CheckBoxes属性设置为True,还可以在节点旁边显示带有复选框的树视图。
  • 添加和算出树节点
  • Tree View控件以层侧结构的方式显示节点,Nodes属性包含舒适图中的顶级节点列表,它是TreeNode对象集合。
  • 添加节点:先创建TreeNode对象,然后通过Nodes的Add方法创建的TreeNode对象添加为TreeView节点;
  • 删除节点,可用Nodes属性的Remove方法或RemoveAt方法

常用属性:

  • Nodes:TreeView控件根节点集合
  • SelectedNode:获取或设置当前TreeView控件中选定的树节点
  • ImageList:获取或设置TreeView中所使用的图像集,关联ImageList控件
  • ImageIndex:获取或设置树节点显示的图像,在ImageList图像集中的索引

常用事件:

  • AfterCollapse:在折叠树节点后触发
  • AfterExpand:在展开树节点后触发
  • AfterSelect:在更改选中节点后触发
  • Click:在点击TreeView控件时触发

示例:

2、 ListView控件

  • ListView控件是Windows列表视图控件,该控件显示可用五种不同视图之一显示的向集合
  • LargeIcon:在想文本胖显示大图标,如果控件足够大,则显示在多列中
  • SmallIcon:除显示小图标外,其他方面与大图标视图模式相同
  • List:显示小图标,单总是显示在单列中。
  • Details:在多列中显示向。
  • Tile:每个向都显示一位一个完整大小的图标,在他的右边带向标签和子项信息

示例:

3、ImageList控件

  • ImageList,又叫存储图像控件,用来存储图像的组合,但它不能显示图像,要显示它存储的图像需要借用第二个控件
  • 第二个控件是包含ImageList属性的控件(例如:ListView或TreeView),这个属性一般和ImageIndex属性一起使用。ImageList属性设置为ImageList组件的一个实例,ImageIndex属性设置为ImageList中对应图像的索引
  • ImageList控件两个常用属性

(1)ImageSize用来设置图像的大小,Width属性和Height属性,用来设置图像的宽和高,其默认值都为16,取值范围1~256之间。

(2)ColorDepth,用来设置颜色深度,取值为4位~32位。

  • ImageList一个方法

raw:用于绘制指定的图像(可以理解为显示图像)

参考代码如下:

using System; 

using System.Collections.Generic; 

using System.ComponentModel; 

using System.Data; 

using System.Drawing; 

using System.Linq; 

using System.Text; 

using System.Threading.Tasks; 

using System.Windows.Forms; 

namespace _3_ImageList控件 

    public partial class Form1 : Form 

    { 

        public Form1() 

        { 

            InitializeComponent(); 

        } 

        private void button3_Click_1(object sender, EventArgs e) 

        { 

            //声明一个图像变量 

            Image image1 = Image.FromFile(@”C:\Users\Admin\Desktop\Images\1.png”); 

            //imageList控件添加元素的方法 

            //方法1,添加单个元素 

            imageList1.Images.Add(image1); 

            //创建了一个窗口句柄(Handle) H wnd(windows) 

            Graphics mygph = Graphics.FromHwnd(this.Handle); 

            //Draw有三种方法 

            //第一种 (graphics对象,左上角点坐标,索引值) 

            imageList1.Draw(mygph, new Point(50, 50), 0);  //第一个参数是句柄,第二个参数是图片显示起始位置(图片左上角的位置,用于定位图片),第三个参数是图片索引值,即ImageList中的图片索引 

            //第二种:(graphics对象,水平坐标,垂直坐标,索引值) 

            //第三种:(graphics对象,水平坐标,垂直坐标,图像宽度,图像高度,索引值) 

        } 

        private void button1_Click(object sender, EventArgs e) 

        { 

            //imageList控件添加元素的方法 

            //方法2  一次添加多个元素 

            Image image2 = Image.FromFile(@”C:\Users\Admin\Desktop\Images\2.png”); 

            Image image3 = Image.FromFile(@”C:\Users\Admin\Desktop\Images\3.png”); 

            Image image4 = Image.FromFile(@”C:\Users\Admin\Desktop\Images\4.png”); 

            Image[] images = { image2, image3, image4 }; 

            imageList1.Images.AddRange(images); 

            //方法3  AddStrip 

            Image image5 = Image.FromFile(@”C:\Users\Admin\Desktop\Images\5.png”); 

            Image image6 = Image.FromFile(@”C:\Users\Admin\Desktop\Images\6.png”); 

            imageList1.Images.AddStrip(image5); 

            imageList1.Images.AddStrip(image6); 

            //创建了一个窗口句柄(Handle) H wnd(windows) 

            Graphics mygph = Graphics.FromHwnd(this.Handle); 

            for (int i = 0; i < imageList1.Images.Count; i++) 

            { 

                imageList1.Draw(mygph, new Point(50, 50), i); 

                //因为显示速度太快,给线程添加一个休眠时间; 

                System.Threading.Thread.Sleep(1000); 

            } 

        } 

        private void button2_Click(object sender, EventArgs e) 

        { 

            //删除imageList对象的方法 

            //removeAt(索引值) 

            imageList1.Images.RemoveAt(5); 

            imageList1.Images.RemoveAt(4); 

            imageList1.Images.RemoveAt(3); 

        } 

    } 

}

给TA打赏
共{{data.count}}人
人已打赏
C#

小袁C#可视化(7)——Windows数据显示控件

2022-8-4 9:52:03

C#

C#面向对象程序设计(1)

2022-8-12 15:44:41

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索