如何让TreeView
扩展节点时改变它的宽度,使节点的标签完全显示出来。
首先我设置DrawMode = OwnerDrawAll;
然后处理事件DrawNode
andin处理程序
e.DrawDefault = true;
currentWith_ = Math.Max(currentWith_, e.Node.Bounds.Right);
然后在AfterExpand
设置控件。但不是每次都有效。有时 with 没有更改或更改不正确。
如何纠正这个问题。提前致谢。
如何让TreeView
扩展节点时改变它的宽度,使节点的标签完全显示出来。
首先我设置DrawMode = OwnerDrawAll;
然后处理事件DrawNode
andin处理程序
e.DrawDefault = true;
currentWith_ = Math.Max(currentWith_, e.Node.Bounds.Right);
然后在AfterExpand
设置控件。但不是每次都有效。有时 with 没有更改或更改不正确。
如何纠正这个问题。提前致谢。
试试这个,它成功了:
private void treeViewAfterExpand(object sender, TreeViewEventArgs e)
{
int maxRight = treeView.ClientSize.Width;
if(e.Node.Nodes != null)
foreach (TreeNode node in e.Node.Nodes)
{
maxRight = Math.Max(maxRight, node.Bounds.Right);
}
treeView.ClientSize = new Size(maxRight, treeView.ClientSize.Height);
}
Ria 给出的解决方案有效,但在构造函数中扩展时无效。扩展加载事件而不是构造函数使其工作。(无法评论,因为低于 50 分。)