我正在尝试基于所选的TreeView节点将面板更改为特定的表单(因为这是我理解它的唯一方法)。例如,在Visual Studio中,如果您右键单击“解决方案‘解决方案名称’(1个项目)”,单击“属性”,它会在左侧出现一个树形列表。当您单击一个选择时,右窗格会发生变化。
前几天我连续搜索了几个小时,只找到了一个教程,说明了它如何影响webBrowser控件。
这是一个我能理解的牵强的例子:
private void tree_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
treeNode nName = e.Node;
`//For testing:`
`string pg = "";`
`pg = nName.Tag;`
`if (pg == "Form2") display = Form2;`
`}`
Display是一个面板。我知道这是绝对错误的,但我找不到任何适当的方法使用我的搜索词。
发布于 2010-08-09 12:12:52
您需要将所有面板上的Visible
设置为false
,除了要显示的面板将设置为true
。
WinForms没有任何特别好的方法来设置它。您可以将每个节点的Tag
属性设置为对面板的引用(这必须以编程方式完成-设计器不会允许您这样做),然后遍历整个树视图以设置((Panel)node.Tag).Visible = false
,然后设置((Panel)e.Node.Tag).Visible = true
,也可以单独维护该列表。如果您没有很多面板,那么switch/ If -else块也可以。
https://stackoverflow.com/questions/3437184
复制相似问题