C#—容器类控件操作

原创 2016年06月02日 12:38:11
/*
 * (1)图像列表ImageList主要用于存储图像:
 *     为工具栏中的按钮提供图像;
 *     提供列表视图中使用的大小图标;
 *     提供树形视图中使用的图像。
 * (2)运行阶段向TreeView控件添加节点;
 * (3)设计阶段向TreeView控件添加节点;
 * (4)ListView控件应用;
 * (5)TabControl应用。
 */
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //在ImageList属性中单击Images属性,完成添加图片的添加或删除。
            //然后将控件与其相连,改变其ImageList属性。
            button1.ImageList = imageList1;
            button1.ImageIndex = 1;
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //为两个ImagList控件添加图标
            largeimageList.Images.Add(Image.FromFile(Application.StartupPath + @"\b.png"));
            largeimageList.Images.Add(Image.FromFile(Application.StartupPath + @"\h.png"));
            largeimageList.Images.Add(Image.FromFile(Application.StartupPath + @"\s.png"));
            smallimageList.Images.Add(Image.FromFile(Application.StartupPath + @"\5.jpg"));
            smallimageList.Images.Add(Image.FromFile(Application.StartupPath + @"\6.jpg"));
            smallimageList.Images.Add(Image.FromFile(Application.StartupPath + @"\7.jpg"));
            //将两个ImagList控件分别关联listView1的大、小图标
            listView1.LargeImageList = largeimageList;
            listView1.SmallImageList = smallimageList;
            //设置listView的标题栏名称
            listView1.Columns.Add("File", 100, HorizontalAlignment.Left);
            listView1.Columns.Add("Size", 50, HorizontalAlignment.Left);
            listView1.Columns.Add("data", 80, HorizontalAlignment.Left);
            //建立项目列表中的项目数据
            ListViewItem item1=new ListViewItem(new string[]{"Per.doc","235K","2008-1-1"},0);
            ListViewItem item2=new ListViewItem("Text.exe" , 1);
            ListViewItem item3 = new ListViewItem("cmd.ppt", 2);
            listView1.Items.Add(item1);
            listView1.Items.Add(item2);
            listView1.Items.Add(item3);
            //指定listView初始状态为详细列表
            listView1.View = View.Details;
            //为控件添加节点
            treeView1.ImageList = imageList1;
            TreeNode tn = new TreeNode();
            tn.Text = "出版社";
            tn.Name = "root";
            tn.ImageIndex = 0;
            treeView1.Nodes.Add(tn);    //添加根节点
            tn = new TreeNode();
            tn.Text = "清华大学出版社";
            tn.Name = "K1";
            tn.ImageIndex = 1;
            treeView1.Nodes["root"].Nodes.Add(tn);   //在根节点下添加节点
            tn = new TreeNode();
            tn.Text = "高校出版社";
            tn.Name = "K2";
            tn.ImageIndex = 2;
            treeView1.Nodes["root"].Nodes.Add(tn);   //在根节点下添加节点
            tn = new TreeNode();
            tn.Text = "电力出版社";
            tn.Name = "K3";
            tn.ImageIndex = 3;
            treeView1.Nodes["root"].Nodes.Add(tn);   //在根节点下添加节点
            tn = new TreeNode();
            tn.Text = "编辑部";
            tn.Name = "K4";
            tn.ImageIndex = 4;
            treeView1.Nodes["root"].Nodes["K3"].Nodes.Add(tn);   
            tn = new TreeNode();
            tn.Text = "发行部";
            tn.Name = "K5";
            tn.ImageIndex = 5;
            treeView1.Nodes["root"].Nodes["K3"].Nodes.Add(tn);
            treeView1.ExpandAll();    //将节点展开
        }

        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
            MessageBox.Show(e.Node.Text);     //显示节点内容
        }

        private void largeBT_Click(object sender, EventArgs e)
        {
            listView1.View = View.LargeIcon;
        }

        private void smallBT_Click(object sender, EventArgs e)
        {
            listView1.View = View.SmallIcon;
        }

        private void listBT_Click(object sender, EventArgs e)
        {
            listView1.View = View.List;
        }

        private void detailBT_Click(object sender, EventArgs e)
        {
            listView1.View = View.Details;
        }

        private void titleBT_Click(object sender, EventArgs e)
        {
            listView1.View = View.Tile;
        }

        private void listView1_SelectedIndexChanged(object sender, EventArgs e)
        {
            foreach (ListViewItem item in listView1.SelectedItems)
                MessageBox.Show(item.Text);
        }

        private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (!tabControl1.SelectedTab.Text.Equals("媒体信息")) 
            {
                return;
            }
            //其他操作
        }
        
    }
}

设计:

TreeNode编辑器:

TabPage集合编辑器:




运行结果:



版权声明:本文为博主原创文章,未经博主允许不得转载。

c# 把窗体嵌入到容器控件中

(VS2005)想把窗体嵌入到容器控件中,让它只能在容器范围内活动.在窗体中添加一个  splitContainer容器生成一个子窗体From from2=new From();设置子窗体为非顶级窗体...
  • antswallow
  • antswallow
  • 2008年01月17日 11:27
  • 4733

C# 界面布局之Dock,Anchor,容器控件心得

背景 近几个月都用的WPF,结果发现很多代码都是WinFrom的,一直想学下WinForm的,恰好今天要用下。就拿了别人的源码,增加些控件与功能,然后界面不太规范,所以边学边改之,第一天弄WinFo...
  • rentao315
  • rentao315
  • 2015年01月26日 11:25
  • 6336

代码_容器控件的使用

  • 2015年06月29日 21:56
  • 54KB
  • 下载

C# WinForm基础二 控件、对话框类、容器、进程、线程

一、WebBrowser  流浪器控件 (嵌入浏览器) 1、拖入窗体中,点击右上角三角符号,取消在父容器的停靠,就可以编辑大小了 2、重要的属性:Url 在”访问“控件点击事件里添加语句: webBr...
  • tufeiax
  • tufeiax
  • 2015年05月08日 23:18
  • 449

Winform界面布局-容器内的控件适应容器

由于用户改变界面大小或者程序在不同分辨率的屏幕下运行,都需要我们的程序界面能够根据实际大小重新布局。 winform控件有两个属性Anchor、Dock可以设置容器内的控件的大小或位置适应容器的大小...
  • fupei
  • fupei
  • 2011年08月22日 20:36
  • 7155

如何:测试 UserControl 的运行时行为

在开发 UserControl 时,需要测试它的运行时行为。 可以创建一个单独的基于 Windows 的应用程序项目,并将控件放置在测试窗体上,但这种过程很不方便。 一种更快速、更简单的方法是使用...
  • whucv
  • whucv
  • 2014年07月10日 00:47
  • 967

C#从一个类中调用控制主窗体的控件

方法一: 新建类,和构造函数 ,Form form1为传进来的参数 class ConnectionDeal { public ConnectionDeal(Form...
  • ya24241
  • ya24241
  • 2014年12月12日 18:09
  • 1582

C#操作PDF总结

C#生成PDF总结 http://www.cnblogs.com/Joetao/articles/2933941.html (一)C#生成PDF总结 (1)iTextSharp控件对iTextSh...
  • bcbobo21cn
  • bcbobo21cn
  • 2017年04月16日 22:19
  • 2476

C#中常用容器的使用与底层数据结构

从使用的频率一个个来简单说一下。Array/ArrayList/List/LinkedListArray数组在C#中最早出现的。在内存中是连续存储的,所以它的索引速度非常快,而且赋值与修改元素也很简单...
  • qp120291570
  • qp120291570
  • 2016年04月09日 21:14
  • 8735

在C#中子线程如何操作主线程中窗体上控件

在C#中,直接在子线程中对窗体上的控件操作是会出现异常,这是由于子线程和运行窗体的线程是不同的空间,因此想要在子线程来操作窗体上的控件,是不可能简单的通过控件对象名来操作,但不是说不能进行操作,微软提...
  • shuaihj
  • shuaihj
  • 2014年11月20日 17:57
  • 25913
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#—容器类控件操作
举报原因:
原因补充:

(最多只允许输入30个字)