[英]attach a panel to TreeView control
我是c#的初学者。 在我的项目中,我在TreeView控件中填充了一个xml文件。 如果xml文件很大, TreeView
控件将显示带滚动条的数据。 除此之外,每当用户双击一个节点时,我在所选节点旁边显示一个类似这样的面板。
当我滚动TreeView控件时 :
我的问题是如何使panel
附加到treeView
控件,以便用户滚动TreeView
控件时面板也应该与所选节点一起移动。
好吧,很难做到,因为TreeView没有Scroll事件。 它无论如何都不可靠,因为节点可以展开和折叠,从而改变节点的位置和可见性。 备份计划是使用Timer。 这很好用:
private void timer1_Tick(object sender, EventArgs e) {
var node = treeView1.SelectedNode;
if (node == null || !node.IsVisible) panel1.Visible = false;
else {
panel1.Visible = true;
var nodepos = treeView1.PointToScreen(node.Bounds.Location);
var panelpos = panel1.Parent.PointToClient(nodepos);
panel1.Top = panelpos.Y;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.