C#程序设计实验报告WindowsForm程序设计实验(实验2第一题)附源码

课程名称 C#程序设计

实验名称 实验二

壹、第一题

一、实验题目

创建项目,完成“课程信息添加及显示”的功能,程序运行如下图所示:
在这里插入图片描述

二、实验要求

具体要求:
(1) 按照图示排列相应的控件,控件名称自定义,其中左侧为TreeView控件,用来显示课程信息;
(2) 当单击【显示选中的课程】,弹出对话框,显示所选课程;单击【删除】按钮,将所选课程删除;
(3) 单击【添加新课程至所选专业下】,将文本框中的内容添加到相应的专业下;
(4) 注意:只能将内容添加到专业下,不能添加到课程下。
所需控件及其属性:
1个TreeView(属性Nodes中添加节点);3个Button;1个Text

三、实验代码以及执行结果

1、Form1.cs:
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 第一题
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void addNewNode_Click(object sender, EventArgs e)   //添加新课程至所选专业下
        {
            string newNodeName = this.newNodeName.Text;
            System.Windows.Forms.TreeNode newNode = new System.Windows.Forms.TreeNode(newNodeName);
            if (treeView.SelectedNode.Level == 2)                   //如果当前被选中的节点在第二层 也就是某某专业
            {
                treeView.SelectedNode.Nodes.Add(newNode);           //往该节点下添加用户新输入的节点
            }
        }

        private void showSelected_Click(object sender, EventArgs e) //展示所选课程
        {
            treeView.Focus();
            if(treeView.SelectedNode.Level == 3)                    //如果当前被选中的节点在第三层 也就是某某课程
            {
                MessageBox.Show("当前所选课程为:" + treeView.SelectedNode.Text);
            }
            
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //默认初始化时展开所有节点
            for (int i = treeView.GetNodeCount(false) - 1; i > -1; i--)
            {
                treeView.SelectedNode = treeView.Nodes[i];
                treeView.SelectedNode.ExpandAll();
            }
        }

        private void deleteSelected_Click(object sender, EventArgs e)  //删除所选课程
        {   
            treeView.SelectedNode.Remove();
        }
    }
}

2、执行结果:

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

在这里插入图片描述

四、实验总结

通过这次实验,我掌握了TreeView控件的基本使用,可以通过调用treeView.SelectedNode.Level 直接获取当前treeview中被选中的节点的所在层数,不需要自己再去将底层的逻辑实现。
使用treeView.SelectedNode.Nodes.Add(newNode);和treeView.SelectedNode.Remove();可以直接对节点进行添加和删除操作,treeView.SelectedNode.ExpandAll();可以展开被选中的节点,是的窗口在初始化时直接将所有节点均展开,就省去了自己一个一个点击节点的操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

别卷了,球球了。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值