首页 > 编程语言 >C# 窗体传值,TreeView To TreeView

C# 窗体传值,TreeView To TreeView

时间:2022-11-02 19:23:37浏览次数:36  
标签:treeView1 C# Text System 窗体 SelectedNode using TreeView public

 

 

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 WindowsFormsApp3
{

    public partial class Form2 : Form
    {

        public Form2() : this(null)
        {

        }

        public string ParametersValue { get; set; }

        public event EventHandler DataTransmitEvent;

        public Form2(string value)
        {
            InitializeComponent();
            treeView1.NodeMouseDoubleClick += treeView1_NodeMouseDoubleClick;
            ParametersValue = value;
        }

        private void treeView1_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
        {
            if (treeView1.Nodes.Count > 0)
            {
                if (treeView1.SelectedNode.Text == "输入" || treeView1.SelectedNode.Text == "输出" || treeView1.SelectedNode.Text.Contains("工具:"))
                {

                }
                else
                {
                    ParametersValue = treeView1.SelectedNode.Text;
                    if (DataTransmitEvent != null)
                    {
                        DataTransmitEvent(this, e);
                        this.Close();
                    }
                }
            }
        }
    }
}

 

 

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 WindowsFormsApp3
{


    public partial class Form1 : Form
    {

        public Form1()
        {
            InitializeComponent();

            treeView1.NodeMouseDoubleClick += treeView1_NodeMouseDoubleClick;
        }

        /// <summary>
        /// treeView双击绑定数据
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void treeView1_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
        {
            if (treeView1.Nodes.Count > 0)
            {
                Point point = treeView1.PointToClient(Control.MousePosition);

                if (point.X < 55 && point.X > 44)
                {
                    if (treeView1.SelectedNode.Text == "输入" || treeView1.SelectedNode.Text == "输出")
                    {

                    }
                    else
                    {
                        Form2 f2 = new Form2();
                        f2.DataTransmitEvent += new EventHandler(
                            (sender1, e1) =>
                            {
                                if(!treeView1.SelectedNode.Text.Contains(":"))
                                {
                                    treeView1.SelectedNode.Text = treeView1.SelectedNode.Text + ":" + f2.ParametersValue;
                                }
                            }
                        );
                        f2.ShowDialog(this);
                    }
                }
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Form3 form3 = new Form3();
            form3.Show();
        }
    }
}

 

 

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 WindowsFormsApp3
{
    public partial class Form3 : Form
    {
        public Form3()
        {
            InitializeComponent();
            treeView1.NodeMouseDoubleClick += treeView1_NodeMouseDoubleClick;
        }
        /// <summary>
        /// treeView双击绑定数据
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void treeView1_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
        {
            if (treeView1.Nodes.Count > 0)
            {
                Point point = treeView1.PointToClient(Control.MousePosition);

                if (point.X < 55 && point.X > 44)
                {
                    if (treeView1.SelectedNode.Text == "输入" || treeView1.SelectedNode.Text == "输出")
                    {

                    }
                    else
                    {
                        Form2 f2 = new Form2();
                        f2.DataTransmitEvent += new EventHandler(
                            (sender1, e1) =>
                            {
                                if (!treeView1.SelectedNode.Text.Contains(":"))
                                {
                                    treeView1.SelectedNode.Text = treeView1.SelectedNode.Text + ":" + f2.ParametersValue;
                                }
                            }
                        );
                        f2.ShowDialog(this);
                    }
                }
            }
        }
    }
}

 

标签:treeView1,C#,Text,System,窗体,SelectedNode,using,TreeView,public
From: https://www.cnblogs.com/xiaohuzi007/p/16852068.html

相关文章

  • C# 数据类型取值范围
    bool型为int型,一般认为占4个字节,取值TRUE/FALSE/ERROR。sbyte型为有符号8位整数,占1个字节,取值范围在-128~127之间。bytet型为无符号16位整数,占2个字节,取值范围在0~255之间......
  • 巨杉数据库入围 IDC Innovator榜单,获评分布式数据库创新者
    近日,巨杉数据库凭借「湖仓一体」分布式数据库在金融领域的创新应用获得 IDC Innovator中国分布式数据库创新者殊荣。值得一提的是,这也是IDC在数字化转型盛典会议中首次......
  • 调用com组件读取word文档配置
    https://www.likecs.com/show-205115518.html最近由于项目中利用PHP调用com组件读取word文档,然后转换成pdf格式的文件。所以在服务器WindowsServer®2008Enterprise中......
  • leetcode-67. 二进制求和
    题目描述给你两个二进制字符串a和b,以二进制字符串的形式返回它们的和。示例输入:a="11",b="1"输出:"100"思路分析我们可以先将其转化为整数,相加之后再转为......
  • CSP2020-12-T5
    星际旅行算法:线段树、离散化题意:你需要维护\(3\)维空间的\(n(1\leqn\leq10^9)\)个点,初始时这些点的三维坐标都是\(0\)。将有以下\(4\)种操作\(m(1\leqm\leq......
  • acwing298 围栏
    有 NN 块木板从左到右排成一行,有 MM 个工匠对这些木板进行粉刷,每块木板至多被粉刷一次。第 ii 个木匠要么不粉刷,要么粉刷包含木板 Si 的,长度不超过 Li 的连续的......
  • 【c&c++】 #if 0/#if 1用法
    当屏蔽掉大块代码时,使用"#if0"比使用"/**/"要好,因为用"/**/"做大段的注释要防止被注释掉的代码中有嵌套的"/**/",这会导致注释掉的代码区域不是你想要的范围,当被注释掉的......
  • centos7中为普通用户添加sudo权限
    可以通过visudo命令。这样我们修改不对的地方,它会给与提示,防止修改错误。visudo后,找到如下行:##Allowroottorunanycommandsanywhere#使用者账号登陆者的来源主......
  • CF1342F Make It Ascending(状压+求过程->求结果)
    CF1342FMakeItAscending给予一个包含\(n\)个元素的数组\(a\),你可以进行以下操作:选择两个不同的元素\(a_i,a_j\)(\(1\lei,j\len\),\(i\nej\))将\(a_j\)的......
  • ACM预备队-week2(二分)
    STO#y总#Or2二分:check函数+两模板;(前提是已经排好序才能二分)假设有一个总区间,经由我们的check函数判断后,可分成两部分,这边以o作true,.....作false示意较好识别如果我......