c# 实验七 图像列表框及树形视图控件的使用
创始人
2024-02-03 12:41:58

前言
👏作者简介:我是笑霸final,一名热爱技术的在校学生。
📝个人主页:个人主页1 || 笑霸final的主页2
📕系列专栏:《项目专栏》
📧如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步👀
🔥如果感觉博主的文章还不错的话,👍点赞👍 + 👀关注👀 + 🤏收藏🤏

在这里插入图片描述

目录

  • 一、实验目的
  • 二、实验任务
    • 2.1. 创建Windows窗体应用程序,利用图像列表框控件浏览图片。如图7.1所示。具体要求为:
    • 2.2.创建Windows窗体应用程序,利用树视图控件显示有层次关系的信息,用户可以自行添加或删除控件中的节点,效果如图7.2-7.5所示。具体要求为:

一、实验目的

1.掌握ImageList控件的使用。
2.掌握TreeView控件的使用。

二、实验任务

2.1. 创建Windows窗体应用程序,利用图像列表框控件浏览图片。如图7.1所示。具体要求为:

(1)点击“选择图片”加载多张图片文件。
(2)图片加载后,点击“自动播放”可实现图片的自动播放效果。
在这里插入图片描述

源代码:
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;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.ProgressBar;namespace 第一题
{public partial class Form1 : Form{int count = 0;//初始化图片个数int tep = 0;OpenFileDialog openFileDialog1=new OpenFileDialog();//选择框对象public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){try{//异常处理//选择图片openFileDialog1.ShowDialog();string[] st = openFileDialog1.FileNames;pictureBox1.Image = Image.FromFile(openFileDialog1.FileName);}catch(Exception e1){//退出当前添加return;}count = openFileDialog1.FileNames.Length;for (int j = 0; j < count; j++)//为imageList1加载在openFileDialog1中选中的图片imageList1.Images.Add(Image.FromFile(openFileDialog1.FileNames[j]));}private void Form1_Load(object sender, EventArgs e){//初始化一些参数timer1.Interval = 1000;//1秒openFileDialog1.Multiselect = true;//可以多选openFileDialog1.Filter = "PNG(*.png)|*.png|JPG(*.jpg)|*.jpg|BMP(*.bmp)|*.bmp";imageList1.ImageSize = new Size(256, 256);//图片大小pictureBox1.SizeMode = PictureBoxSizeMode.CenterImage;}private void button2_Click(object sender, EventArgs e){timer1.Start();//开始记时}private void timer1_Tick(object sender, EventArgs e){tep++;pictureBox1.Image = imageList1.Images[tep%count];//循环播放图片}}
}

在这里插入图片描述


2.2.创建Windows窗体应用程序,利用树视图控件显示有层次关系的信息,用户可以自行添加或删除控件中的节点,效果如图7.2-7.5所示。具体要求为:

(1)初始时的三层结点结构采用代码生成。
(2)添加结点可实现添加根结点、子结点和兄弟结点。
(3)删除结点时,若其包含子结点,应给出消息框,确认是否删除,若选择了“是”则将该结点删除,否则取消删除。
(4)显示所选结点的子节点到右侧的ListBox中,若某节点无子节点,在消息框中提示“所选节点无子节点”。
(5)获取所选节点的路径显示在窗体的标题栏中。在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

源代码:
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;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;namespace 第二题
{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){//初始化生成3层节点treeView1.Nodes.Add("it");treeView1.Nodes[0].Nodes.Add("后端");treeView1.Nodes[0].Nodes[0].Nodes.Add("java");treeView1.ExpandAll();}private void button2_Click(object sender, EventArgs e){if (textBox1.Text == null || textBox1.Text == ""){MessageBox.Show("请输入文字");return;}//添加子节点if (treeView1.SelectedNode == null){MessageBox.Show("请选择节点");return;}elsetreeView1.SelectedNode.Nodes.Add(textBox1.Text);textBox1.Text = "";}private void button1_Click(object sender, EventArgs e){if (textBox1.Text == null || textBox1.Text == ""){MessageBox.Show("请输入文字");return;}//添加根节点treeView1.Nodes.Add(textBox1.Text);textBox1.Text = "";}private void button3_Click(object sender, EventArgs e){//添加兄弟节点if (textBox1.Text == null || textBox1.Text == ""){MessageBox.Show("请输入文字");return;}//添加兄弟节点if (treeView1.SelectedNode == null)MessageBox.Show("请选择节点");else{treeView1.SelectedNode.Parent.Nodes.Add(textBox1.Text);}textBox1.Text = "";}private void button4_Click(object sender, EventArgs e){DialogResult dr;if (treeView1.SelectedNode.Nodes.Count > 0)//当前选定节点有子节点{dr = MessageBox.Show("该节点有子节点,是否要删除节点: " + treeView1.SelectedNode.Text + "? ", "删除确认", MessageBoxButtons.YesNo, MessageBoxIcon.Question);if (dr == DialogResult.Yes)treeView1.Nodes.Remove(treeView1.SelectedNode);}else{dr = MessageBox.Show("当前节点无子节点,确认要删除 " + treeView1.SelectedNode.Text + "吗?", "删除确认", MessageBoxButtons.OKCancel);if (dr == DialogResult.OK)treeView1.Nodes.Remove(treeView1.SelectedNode);}}private void button5_Click(object sender, EventArgs e){//窗体的标题栏this.Text = treeView1.SelectedNode.FullPath.ToString();if (treeView1.SelectedNode.Nodes.Count > 0){//先清空上一次显示的数据listBox1.Items.Clear();foreach (TreeNode tn in treeView1.SelectedNode.Nodes)listBox1.Items.Add(tn.Text);}elseMessageBox.Show("当前节点无子节点!");}}
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...