* UIComboTreeView: 修复CanSelectRootNode时可以展开子节点
This commit is contained in:
parent
3d3b28e446
commit
0120148ffe
@ -143,10 +143,13 @@ namespace Sunny.UI
|
||||
{
|
||||
if (!treeView.CheckBoxes)
|
||||
{
|
||||
if (e.Node.Nodes.Count == 0 || CanSelectRootNode)
|
||||
if (e.Location.X > treeView.DrawLeft(e.Node))
|
||||
{
|
||||
DoValueChanged(this, e.Node);
|
||||
Close();
|
||||
if (e.Node.Nodes.Count == 0 || CanSelectRootNode)
|
||||
{
|
||||
DoValueChanged(this, e.Node);
|
||||
Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -48,9 +48,6 @@ namespace Sunny.UI
|
||||
this.ButtonClick += UIComboDataGridView_ButtonClick;
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
DropDownWidth = 500;
|
||||
DropDownHeight = 300;
|
||||
}
|
||||
|
||||
public event OnComboDataGridViewFilterChanged FilterChanged;
|
||||
@ -89,6 +86,8 @@ namespace Sunny.UI
|
||||
InitializeComponent();
|
||||
fullControlSelect = true;
|
||||
CreateInstance();
|
||||
DropDownWidth = 500;
|
||||
DropDownHeight = 300;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -20,6 +20,7 @@
|
||||
* 2021-11-11: V3.0.0 增加文件说明
|
||||
* 2022-05-15: V3.0.8 显示CheckBoxes时自己选中节点文字可切换状态
|
||||
* 2022-06-16: V3.2.0 增加下拉框宽度、高度
|
||||
* 2022-07-12: V3.2.1 修复CanSelectRootNode时可以展开子节点
|
||||
******************************************************************************/
|
||||
|
||||
using System;
|
||||
@ -40,6 +41,8 @@ namespace Sunny.UI
|
||||
InitializeComponent();
|
||||
fullControlSelect = true;
|
||||
CreateInstance();
|
||||
DropDownWidth = 250;
|
||||
DropDownHeight = 220;
|
||||
}
|
||||
|
||||
private void InitializeComponent()
|
||||
@ -54,9 +57,6 @@ namespace Sunny.UI
|
||||
this.ButtonClick += this.UIComboTreeView_ButtonClick;
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
DropDownWidth = 250;
|
||||
DropDownHeight = 220;
|
||||
}
|
||||
|
||||
[DefaultValue(250)]
|
||||
|
@ -87,6 +87,12 @@ namespace Sunny.UI
|
||||
view.AfterLabelEdit += View_AfterLabelEdit;
|
||||
}
|
||||
|
||||
internal int DrawLeft(TreeNode node)
|
||||
{
|
||||
if (view == null || node == null) return 0;
|
||||
return view.DrawLeft(node);
|
||||
}
|
||||
|
||||
public void SetNodePainter(TreeNode node, Color backColor, Color foreColor)
|
||||
{
|
||||
if (view.IsNull()) return;
|
||||
@ -880,6 +886,17 @@ namespace Sunny.UI
|
||||
}
|
||||
}
|
||||
|
||||
public int DrawLeft(TreeNode node)
|
||||
{
|
||||
int drawLeft;
|
||||
if (!HBar.Visible)
|
||||
drawLeft = (node.Level + 1) * Indent + 3;
|
||||
else
|
||||
drawLeft = -(int)(Width * HBar.Value * 1.0 / HBar.Maximum) + (node.Level + 1) * Indent + 3;
|
||||
|
||||
return drawLeft;
|
||||
}
|
||||
|
||||
protected override void OnDrawNode(DrawTreeNodeEventArgs e)
|
||||
{
|
||||
base.OnDrawNode(e);
|
||||
|
Loading…
x
Reference in New Issue
Block a user