【问题标题】:Is it possible to make a TreeView node edit objects within the form?是否可以让 TreeView 节点编辑表单内的对象?
【发布时间】:2019-04-03 03:19:38
【问题描述】:

'谈论我的发现和未能发现我想要的东西

深入研究我已经使用了半年多一点的 Windows 窗体,我开始使用更新的对象,例如树视图。这成为我项目的一个障碍,由于缺乏对这个特定对象的了解,阻碍了数小时的进一步进展。到目前为止,我已经看过无数关于为 Tree View 等创建节点的讨论和视频,但仍然没有找到我想要的。

'这可能吗?

我想将树视图用作类似于列表框的东西,我用它代替了列表视图,因为它基本上是 Windows 窗体中最简单的列表(目前正在学习有关列表视图和树视图对象的更多信息)。这一次,我使用树视图代替列表框来更改标签、添加图像、视频和其他对象(因此,我通过使用列表框来做到这一点,但树视图非常符合我的想法更好,并且还可以为我节省数百行代码 - 在我替换了列表框和代码之后计算出来 - 至于为什么,因为它是列表中的一个列表,在这方面几乎是一个树视图) .

'我打算做什么

如果我的树视图有一个父节点,比如说“数字”,那么 Numbers 内部由称为“1、2 和 3”的子项组成。

选择/单击儿童节点1时,标签将显示“数字-1”(显示列表目录/路径),然后将看到不可见的对象。 - 同样,如果选择 2,则标签将显示“数字 - 2”,其他对象将因单击事件而发生变化。

'我创建的(还是一个例子,没有代码,只是 TreeView 对象和它的节点)

'结论

如果您以前尝试过或知道如何操作,请告诉我。此外,如果您尝试这样做,请告诉我您的尝试,谢谢!


我尝试过的一些事情

  • 寻找任何可能的方法来启用此功能

  • 包含方法。如果 SelectedNode = "1" 则更改 Label.Text


没试过

  • 元素选择会起作用吗?

p = 父级 c = 孩子 (个人电脑) (0, 1) - 和数组一样,0 是第一个元素,1 是子节点 2。

  • CheckBox(TreeView 中的属性,使 TreeView 节点旁边有复选框),这是我不想要的,但如有必要可能最终会使用

【问题讨论】:

  • 你需要从事件的角度开始思考。当您在 UI 中执行特定操作时,您希望发生一些事情。您需要确定在执行此操作时会引发什么事件并进行处理。事件处理程序是您放置要在引发事件时执行的代码的地方。首先阅读TreeView 的文档,看看它有哪些事件,以及当你想采取行动时会引发哪些事件。
  • 一旦有了事件处理程序,您就可以查看如何获取适当的节点。这将通过传递给处理程序的数据或通过TreeView 本身来完成。首先检查前者,如果没有任何用处,请阅读TreeView 的文档以查看它具有哪些属性和方法以及哪些暴露了您需要的数据。
  • 拥有节点后,您可以查看要显示的实际值。同样,文档、属性、方法。
  • 不要在标题或问题中添加已解决。接受答案就足够了。

标签: vb.net treeview


【解决方案1】:

这就是您可以如何使 TreeView 节点控制其他对象的属性。

使 TreeView 节点更改标签的文本:

TreeView1.SelectedNode.Text = Label1.Text

同样,您可以在选择节点时控制其他事件,方法是:

If TreeView1.SelectedNode.Text = "Colors" Then
   Label1.Text = "Colors: Red, Green, Blue"
   PictureBox1.Image = My.Resources.RGB ' Shows image of primary colors: Red, Green, Blue
End If

几乎是我想要的...花了大约 6 个小时寻找如何在我的程序中实现它。至少要花 5 分钟才能找到这个。 无论如何,希望这对某人有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-12
    • 1970-01-01
    • 2020-01-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多