wpftreeview多选(winform treeview checkbox多选,点击按钮把选中的值传给listbox控件)

本文目录
- winform treeview checkbox多选,点击按钮把选中的值传给listbox控件
- C#中treeview在 页面中怎么实现多选并且取值
- vb.net 怎么对treeview进行多选
- WPF中TreeView控件如何获取选中的TreeViewItem对象
- WinFrom中怎么通过点击Button获取TreeView控件的值到另一个TreeView上,带checkBook、可多选
- asp.net Treeview 选择父节点时子节点全部选中 不要递归的 只要选中下一节点就行的 可多选
- C# treeview 实现选取并复制功能
- VC里面使用了treeview控件,现在如何同时选中多个节点
- C# treeview多选 查询数据库
- 我想知道在Winform中的TreeView控件,如何实现选中/取消选中父节点则自动选择/取消选中对应子节点谢谢给
winform treeview checkbox多选,点击按钮把选中的值传给listbox控件
假设 treeView1, button1, listBox1 三个控件
//递归函数
void 递归TreeView(TreeNode treeNode)
{
foreach (TreeNode tn in treeNode.Nodes)
{
if (tn.Checked) listBox1.Items.Add(tn.Text);
递归TreeView(tn);
}
}
//点击按钮,执行
private void button1_Click(object sender, EventArgs e)
{
foreach (TreeNode tn in treeView1.Nodes)
{
if (tn.Checked) listBox1.Items.Add(tn.Text);
递归TreeView(tn);
}
}
效果如图
C#中treeview在 页面中怎么实现多选并且取值
可以一次获取选中的节点 如果不行,每个节点加一个checkbox 判断选中状态 来确定多选,如果选中获取值
vb.net 怎么对treeview进行多选
把TreeView的CheckBoxes属性设置为True,节点之前的选择框就可以点击了
然后看Node.Checked属性就能获取选中的节点了
WPF中TreeView控件如何获取选中的TreeViewItem对象
《/Window.Resources》
其--》院--》系构典型象层XAML代码实现绑定:《TreeView
……》
《TreeViewItem
ItemsSource="{Binding}"
Header="列表"》
《/TreeViewItem》
需给TreeViewDataContext赋University象集合自显示:
写程序我发现问题:TreeView绑定数据集合TreeView.SelectedItem返我预想TreeViewItem数据象本身(University,Academy等)虽便数据象提取却带其麻烦比我能需要选节点加红色标记突显示或者自展选节点树或者访问其父节点象都需要获取TreeViewItem象我想种TreeView本身SelectedItemChanged事件尝试取选节点应TreeViewItem象均功返解决戏剧化其实根本需要钻牛角尖非要SelectedItemChanged事件干事TreeViewItem本身Selected事件其参数e提供需要TreeViewItem象于解决案简单TreeView响应TreeViewItem附加事件Selected:
《TreeView
Name="treeView1"
TreeViewItem.Selected="treeView1_Selected"
……》
《T/reeView》
其事件代码:
private
void
treeView1_Selected(object
sender,
RoutedEventArgs
e)
{
//e.OriginalSource
TreeViewItem象其保存窗体类某私字段或者直接使用所示:
}
搞定
前制作给企业培训所用WPF教PPT其特性进行较探索与应用谈些触:WPF比原先Windows
Form灵几特性我实非欣赏:(1)模板(包括控件模板与数据模板)(2)数据绑定(3)路由事件依赖属性我认Windows桌面应用领域WPF迟早必全面取代Windows
Form诸位.NET程序员提早做些准备
WinFrom中怎么通过点击Button获取TreeView控件的值到另一个TreeView上,带checkBook、可多选
treeView1有个属性是CheckBoxes
using System;
using System.Drawing;
using System.Windows.Forms;
public class Form1 : Form
{
private TreeView treeView1;
private Button showCheckedNodesButton;
private TreeViewCancelEventHandler checkForCheckedChildren;
public Form1()
{
treeView1 = new TreeView();
showCheckedNodesButton = new Button();
checkForCheckedChildren =
new TreeViewCancelEventHandler(CheckForCheckedChildrenHandler);
this.SuspendLayout();
// Initialize treeView1.
treeView1.Location = new Point(0, 25);
treeView1.Size = new Size(292, 248);
treeView1.Anchor = AnchorStyles.Top | AnchorStyles.Left |
AnchorStyles.Bottom | AnchorStyles.Right;
treeView1.CheckBoxes = true;
// Add nodes to treeView1.
TreeNode node;
for (int x = 0; x 《 3; ++x)
{
// Add a root node.
node = treeView1.Nodes.Add(String.Format("Node{0}", x*4));
for (int y = 1; y 《 4; ++y)
{
// Add a node as a child of the previously added node.
node = node.Nodes.Add(String.Format("Node{0}", x*4 + y));
}
}
// Set the checked state of one of the nodes to
// demonstrate the showCheckedNodesButton button behavior.
treeView1.Nodes.Checked = true;
// Initialize showCheckedNodesButton.
showCheckedNodesButton.Size = new Size(144, 24);
showCheckedNodesButton.Text = "Show Checked Nodes";
showCheckedNodesButton.Click +=
new EventHandler(showCheckedNodesButton_Click);
// Initialize the form.
this.ClientSize = new Size(292, 273);
this.Controls.AddRange(new Control
{ showCheckedNodesButton, treeView1 } );
this.ResumeLayout(false);
}
static void Main()
{
Application.Run(new Form1());
}
private void showCheckedNodesButton_Click(object sender, EventArgs e)
{
// Disable redrawing of treeView1 to prevent flickering
// while changes are made.
treeView1.BeginUpdate();
// Collapse all nodes of treeView1.
treeView1.CollapseAll();
// Add the checkForCheckedChildren event handler to the BeforeExpand event.
treeView1.BeforeExpand += checkForCheckedChildren;
// Expand all nodes of treeView1. Nodes without checked children are
// prevented from expanding by the checkForCheckedChildren event handler.
treeView1.ExpandAll();
// Remove the checkForCheckedChildren event handler from the BeforeExpand
// event so manual node expansion will work correctly.
treeView1.BeforeExpand -= checkForCheckedChildren;
// Enable redrawing of treeView1.
treeView1.EndUpdate();
}
// Prevent expansion of a node that does not have any checked child nodes.
private void CheckForCheckedChildrenHandler(object sender,
TreeViewCancelEventArgs e)
{
if (!HasCheckedChildNodes(e.Node)) e.Cancel = true;
}
// Returns a value indicating whether the specified
// TreeNode has checked child nodes.
private bool HasCheckedChildNodes(TreeNode node)
{
if (node.Nodes.Count == 0) return false;
foreach (TreeNode childNode in node.Nodes)
{
if (childNode.Checked) return true;
// Recursively check the children of the current child node.
if (HasCheckedChildNodes(childNode)) return true;
}
return false;
}
}
asp.net Treeview 选择父节点时子节点全部选中 不要递归的 只要选中下一节点就行的 可多选
这东西用 treeview 来实现太BT了,因为没法自定义 html 内容,推荐手动输出 html ,这样的话实现起来就容易多了
C# treeview 实现选取并复制功能
TreeView默认不能多选的,要想实现只能自己做OwnerDrawn控件
ListView可以多选
自己自定义一个类,继承TreeView类
在构造函数里
把DrawMode改成OwnerDrawn
建立自己的一个集合来存储选中的Node,
public List《TreeNode》 SelectedNodes{}
改写OnMouseMove函数,确定e.Button == MouseButtons.Left并作矩形
改写OnPaint函数,随着鼠标移动,调用Invalidate(),强制刷新
利用HitTest(Rectangle.Contrains())来循环Nodes,判断进入矩形的Node,然后,把他们加入SeletedNodes
建立DrawNode函数,来把所有SelectedNode的背景填充,用e.Graphics.FillRectangle(e.Bounds) ,
基本上就这样 曾经做过一个 现在代码没了 也记得不太清了 只能给你说这么多了
VC里面使用了treeview控件,现在如何同时选中多个节点
Treeview不允许多选。
也许有第三方组件能实现多选,但标准的Treeview是实现不了的。
C# treeview多选 查询数据库
这个我做过,你选择多选之后,把你选择的ID保存到一个list集合中,然后在查询这些数据的时候,把list存的数据转化一下,例如:里面存的是liat.add(1),liat.add(2); 你把这个循环取出来拼接成查询的条件,例如 id in (1,2)就可以查询出来了
我想知道在Winform中的TreeView控件,如何实现选中/取消选中父节点则自动选择/取消选中对应子节点谢谢给
你可以用两个递归来设置子节点和父节点的状态,如下
private void CheckChild(TreeNode node)
{
if (node.Nodes.Count != 0)
{
foreach (TreeNode item in node.Nodes)
{
item.Checked = node.Checked;
CheckChild(item);
}
}
}
private void CheckParent(TreeNode node)
{
if (node.Parent != null)
{
int count = 0;
foreach (TreeNode item in node.Parent.Nodes)
{
if (item.Checked)
{
count++;
}
}
node.Parent.Checked = (count == node.Parent.Nodes.Count);
CheckParent(node.Parent);
}
}
private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
CheckChild(e.Node);
CheckParent(e.Node);
}

更多文章:
androidapp源码免费下载(如何实现APK的反编译得到APK的源码)
2026年9月22日 18:00
service pack 3(操作系统版本升级(SP) Service Pack 3当中的“Service Pack 3”是什么意思)
2026年9月22日 10:20
html代码怎么写大佬教程(html网页的题来个大佬,写代码,题目在图上)
2026年9月22日 10:10
结构体内又一个struct(c++ 在结构体中再嵌入一个结构体如何调用)
2026年9月22日 09:40
cocos creator中文(cocoscreator和cocoscreator3d的区别)
2026年9月22日 02:30





