我能想到并且尝试的方法,就是右侧用不同的panel控件,设置隐藏,调用的时候,显示。
但这样操作起来会很麻烦。

程序代码:using System.Linq;
using System.Windows.Forms;
namespace WindowsFormsApplication9
{
public partial class FormMain : Form
{
#region 构造函数
public FormMain()
{
InitializeComponent();
Tv.AfterSelect += Tv_AfterSelect;
}
#endregion
#region 控件事件
void Tv_AfterSelect(object sender, TreeViewEventArgs e)
{
if (e.Node.Tag == null) return;
foreach (var panel in PanelContainer.Controls.Cast<Panel>())
{
if (panel.Tag == null) continue;
var targetId = e.Node.Tag.ToString();
if (panel.Visible)
panel.Visible = false;
else
{
if (panel.Tag.ToString() != targetId) continue;
panel.Dock = DockStyle.Fill;
panel.Visible = true;
}
}
}
#endregion
}
}
