* UIComboTreeView:更新多选后编辑框的文字显示
This commit is contained in:
parent
6f8fbfc0db
commit
3cbdf3e134
Binary file not shown.
BIN
Bin/SunnyUI.dll
BIN
Bin/SunnyUI.dll
Binary file not shown.
2
SunnyUI.Demo/Controls/FCombobox.Designer.cs
generated
2
SunnyUI.Demo/Controls/FCombobox.Designer.cs
generated
@ -311,6 +311,7 @@
|
|||||||
this.uiComboTreeView1.Size = new System.Drawing.Size(150, 29);
|
this.uiComboTreeView1.Size = new System.Drawing.Size(150, 29);
|
||||||
this.uiComboTreeView1.TabIndex = 43;
|
this.uiComboTreeView1.TabIndex = 43;
|
||||||
this.uiComboTreeView1.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
|
this.uiComboTreeView1.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
|
||||||
|
this.uiComboTreeView1.NodeSelected += new Sunny.UI.UIComboTreeView.OnNodeSelected(this.uiComboTreeView1_NodeSelected);
|
||||||
//
|
//
|
||||||
// uiLine1
|
// uiLine1
|
||||||
//
|
//
|
||||||
@ -350,6 +351,7 @@
|
|||||||
this.uiComboTreeView2.Size = new System.Drawing.Size(150, 29);
|
this.uiComboTreeView2.Size = new System.Drawing.Size(150, 29);
|
||||||
this.uiComboTreeView2.TabIndex = 46;
|
this.uiComboTreeView2.TabIndex = 46;
|
||||||
this.uiComboTreeView2.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
|
this.uiComboTreeView2.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
|
||||||
|
this.uiComboTreeView2.NodesSelected += new Sunny.UI.UIComboTreeView.OnNodesSelected(this.uiComboTreeView2_NodesSelected);
|
||||||
//
|
//
|
||||||
// uiComboTreeView3
|
// uiComboTreeView3
|
||||||
//
|
//
|
||||||
|
@ -32,5 +32,15 @@ namespace Sunny.UI.Demo
|
|||||||
uiComboBox1.Items.Add("102");
|
uiComboBox1.Items.Add("102");
|
||||||
uiComboBox1.Items.Add("103");
|
uiComboBox1.Items.Add("103");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void uiComboTreeView1_NodeSelected(object sender, System.Windows.Forms.TreeNode node)
|
||||||
|
{
|
||||||
|
ShowInfoTip(node.Text);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void uiComboTreeView2_NodesSelected(object sender, System.Windows.Forms.TreeNodeCollection node)
|
||||||
|
{
|
||||||
|
ShowInfoTip(uiComboTreeView2.Text);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,12 @@
|
|||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
|
using System.Text;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace Sunny.UI
|
namespace Sunny.UI
|
||||||
{
|
{
|
||||||
|
[DefaultEvent("NodeSelected")]
|
||||||
|
[DefaultProperty("Nodes")]
|
||||||
[ToolboxItem(true)]
|
[ToolboxItem(true)]
|
||||||
public class UIComboTreeView : UIDropControl
|
public class UIComboTreeView : UIDropControl
|
||||||
{
|
{
|
||||||
@ -84,12 +87,35 @@ namespace Sunny.UI
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
foreach (TreeNode node in Nodes)
|
||||||
|
{
|
||||||
|
if (node.Checked) sb.Append(node.Text + "; ");
|
||||||
|
AddChildNodeText(node, sb);
|
||||||
|
}
|
||||||
|
|
||||||
|
Text = sb.ToString();
|
||||||
NodesSelected?.Invoke(this, Nodes);
|
NodesSelected?.Invoke(this, Nodes);
|
||||||
}
|
}
|
||||||
|
|
||||||
Invalidate();
|
Invalidate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void AddChildNodeText(TreeNode node, StringBuilder sb)
|
||||||
|
{
|
||||||
|
if (node.Nodes.Count > 0)
|
||||||
|
{
|
||||||
|
foreach (TreeNode child in node.Nodes)
|
||||||
|
{
|
||||||
|
if (child.Checked)
|
||||||
|
sb.Append(child.Text + "; ");
|
||||||
|
|
||||||
|
if (child.Nodes.Count > 0)
|
||||||
|
AddChildNodeText(child, sb);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void UIComboTreeView_ButtonClick(object sender, System.EventArgs e)
|
private void UIComboTreeView_ButtonClick(object sender, System.EventArgs e)
|
||||||
{
|
{
|
||||||
ItemForm.Size = ItemSize;
|
ItemForm.Size = ItemSize;
|
||||||
|
@ -741,7 +741,7 @@ namespace Sunny.UI
|
|||||||
{
|
{
|
||||||
lineX -= Indent;
|
lineX -= Indent;
|
||||||
|
|
||||||
if (pNode.Level == 0 && pNode.NextNode != null)
|
if (pNode.NextNode != null)
|
||||||
e.Graphics.DrawLine(pn, lineX, lineY, lineX, e.Node.Bounds.Top);
|
e.Graphics.DrawLine(pn, lineX, lineY, lineX, e.Node.Bounds.Top);
|
||||||
|
|
||||||
if (pNode.NextNode != null)
|
if (pNode.NextNode != null)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user