TreeView样例绑定操作(设置Image图标)
2015-03-20 11:57:11 访问(1789) 赞(0) 踩(0)
/// <summary>
///
/// </summary>
const string page_white = "page_white";
/// <summary>
///
/// </summary>
const string page_white_go = "page_white_go";
/// <summary>
///
/// </summary>
const string page = "page";
/// <summary>
///
/// </summary>
const string page_save = "page_save";
/// <summary>
///
/// </summary>
/// <returns></returns>
public ImageList CreateTreeIconImageList()
{
ImageList theResult = new ImageList();
int idx = -1;
theResult.Images.Add
(
global::SlowX.StrOperApp.Properties.Resources.page_white
);
++idx;
theResult.Images.SetKeyName(idx, page_white);
theResult.Images.Add
(
global::SlowX.StrOperApp.Properties.Resources.page_white_go
);
++idx;
theResult.Images.SetKeyName(idx, page_white_go);
theResult.Images.Add
(
global::SlowX.StrOperApp.Properties.Resources.page
);
++idx;
theResult.Images.SetKeyName(idx, page);
theResult.Images.Add
(
global::SlowX.StrOperApp.Properties.Resources.page_save
);
++idx;
theResult.Images.SetKeyName(idx, page_save);
return theResult;
}
/// <summary>
/// g_
/// </summary>
protected const string g_ = "g_";
/// <summary>
/// n_
/// </summary>
protected const string n_ = "n_";
/// <summary>
///
/// </summary>
/// <param name="em"></param>
/// <returns></returns>
public SlowX.StrOperApp.Enums.OperGroup.EmOperGroup GetEmOperGroup
(
SlowX.StrOperApp.Enums.Oper.EmOper em
)
{
switch (em)
{
case SlowX.StrOperApp.Enums.Oper.EmOper.合并空白:
case SlowX.StrOperApp.Enums.Oper.EmOper.合并空格:
case SlowX.StrOperApp.Enums.Oper.EmOper.合并空行:
case SlowX.StrOperApp.Enums.Oper.EmOper.合并制表符:
return SlowX.StrOperApp.Enums.OperGroup.EmOperGroup.合并;
case SlowX.StrOperApp.Enums.Oper.EmOper.填充:
return SlowX.StrOperApp.Enums.OperGroup.EmOperGroup.填充;
case SlowX.StrOperApp.Enums.Oper.EmOper.移除开头数字:
case SlowX.StrOperApp.Enums.Oper.EmOper.移除开头字母和数字:
return SlowX.StrOperApp.Enums.OperGroup.EmOperGroup.移除;
case SlowX.StrOperApp.Enums.Oper.EmOper.转at表达式双引号为字符串:
case SlowX.StrOperApp.Enums.Oper.EmOper.转双引号为at表达式:
case SlowX.StrOperApp.Enums.Oper.EmOper.转双引号为通俗表达式:
case SlowX.StrOperApp.Enums.Oper.EmOper.转通俗表达式双引号为字符串:
case SlowX.StrOperApp.Enums.Oper.EmOper.转为大写:
case SlowX.StrOperApp.Enums.Oper.EmOper.转为首字母大写:
case SlowX.StrOperApp.Enums.Oper.EmOper.转为小写:
return SlowX.StrOperApp.Enums.OperGroup.EmOperGroup.转换;
case SlowX.StrOperApp.Enums.Oper.EmOper.无:
default:
return SlowX.StrOperApp.Enums.OperGroup.EmOperGroup.默认;
}
}
/// <summary>
///
/// </summary>
/// <param name="searchText"></param>
protected void LoadTree(string searchText)
{
ImageList il = CreateTreeIconImageList();
treeView_Main.ImageList = il;
TreeNodeCollection tnc = treeView_Main.Nodes;
tnc.Clear();
SlowX.StrOperApp.Enums.OperGroup.EmOperGroup[]
emA = SlowX.StrOperApp.Enums.OperGroup.EmArray;
SlowX.StrOperApp.Enums.Oper.EmOper[]
emOA = SlowX.StrOperApp.Enums.Oper.EmArray;
TreeNode tn = TreeNodeCreate
(
SlowX.StrOperApp.Enums.OperGroup.EmOperGroup.默认,
SlowX.StrOperApp.Enums.Oper.EmOper.无
);
TreeNode tnLeaf = null;
tnc.Add(tn);
if (searchText == null || searchText.Length == 0)
{
foreach (SlowX.StrOperApp.Enums.OperGroup.EmOperGroup
em in emA)
{
if (em == SlowX.StrOperApp.Enums.OperGroup.EmOperGroup.默认)
continue;
tn = TreeNodeGroupCreate(em);
tnc.Add(tn);
foreach (SlowX.StrOperApp.Enums.Oper.EmOper emO in emOA)
{
if (GetEmOperGroup(emO) != em)
continue;
tnLeaf = TreeNodeCreate(em, emO);
tn.Nodes.Add(tnLeaf);
}
}
}
else
{
foreach (SlowX.StrOperApp.Enums.OperGroup.EmOperGroup
em in emA)
{
if (em == SlowX.StrOperApp.Enums.OperGroup.EmOperGroup.默认)
continue;
tn = TreeNodeGroupCreate(em);
foreach (SlowX.StrOperApp.Enums.Oper.EmOper emO in emOA)
{
if (GetEmOperGroup(emO) != em)
continue;
if (!emO.ToString().Contains(searchText))
continue;
tnLeaf = TreeNodeCreate(em, emO);
tn.Nodes.Add(tnLeaf);
}
if(tn.Nodes.Count>0)
tnc.Add(tn);
}
}
treeView_Main.ExpandAll();
}
/// <summary>
///
/// </summary>
/// <param name="emG"></param>
/// <param name="em"></param>
/// <returns></returns>
public TreeNode TreeNodeCreate
(
SlowX.StrOperApp.Enums.OperGroup.EmOperGroup emG,
SlowX.StrOperApp.Enums.Oper.EmOper em
)
{
TreeNode theResult = new TreeNode();
theResult.Text = em.ToString();
theResult.Tag = em;
theResult.Name = n_ + ((int)emG).ToString() + "_" + ((int)em).ToString();
theResult.ImageKey
=
page_white;
theResult.SelectedImageKey
=
page_white_go;
return theResult;
}
/// <summary>
///
/// </summary>
/// <param name="emG"></param>
/// <returns></returns>
public TreeNode TreeNodeGroupCreate
(
SlowX.StrOperApp.Enums.OperGroup.EmOperGroup emG
)
{
TreeNode theResult = new TreeNode();
theResult.Text = emG.ToString();
theResult.Tag = emG;
theResult.Name = g_ + ((int)emG).ToString();
theResult.ImageKey
=
page;
theResult.SelectedImageKey
=
page_save;
return theResult;
}
上一条:
下一条:
相关评论
发表评论