treeview中selectedImage问题
如下代码,我程序跑起来的时候会默认选择我第一个node节点,不知道是怎么回事,程序一运行就响应

我也不能把属性里的selectedImage去掉,我不想在选中的时候有图片的改变,这也去不了

这是我的代码
treeView1_AfterSelect还弹出显示PLC的对话框了。这个问题搞不明白了。
我也不能把属性里的selectedImage去掉,我不想在选中的时候有图片的改变,这也去不了

这是我的代码
private void Form1_Load(object sender, EventArgs e)
{
GetMenu(plcView, menuStrip1);
}
public void GetMenu(TreeView treeV, MenuStrip MenuS)
{
bool Var_Bool = true;
//遍历MenuStrip组件中的一级菜单项
for (int i = 0; i < MenuS.Items.Count; i++)
{
//将一级菜单项的名称添加到TreeView组件的根节点中,并设置当前节点的子节点newNode1
TreeNode newNode1 = treeV.Nodes.Add(MenuS.Items[i].Text);
treeV.ImageIndex = 1;
//判断当前项是否为可用
if (MenuS.Items[i].Enabled == false)
{
//改变树节点的字体颜色为不可用色
newNode1.ForeColor = Color.Silver;
Var_Bool = false;
}
else
{
//改变树节点的字体颜色为可用色
newNode1.ForeColor = Color.Black;
Var_Bool = true;
}
//标识,有子项的命令项
newNode1.Tag = 0;
//将当前菜单项的所有相关信息存入到ToolStripDropDownItem对象中
ToolStripDropDownItem newmenu = (ToolStripDropDownItem)MenuS.Items[i];
//添加多层命令项
//GetCavernMenu(newNode1, newmenu, Var_Bool);
}
}
public void GetCavernMenu(TreeNode newNodeA, ToolStripDropDownItem newmenuA, bool BL)
{
bool Var_Bool = true;
if (newmenuA.HasDropDownItems && newmenuA.DropDownItems.Count > 0)
{
//遍历二级菜单项
for (int j = 0; j < newmenuA.DropDownItems.Count; j++)
{
//将二级菜单名称添加到TreeView组件的子节点newNode1中,并设置当前节点的子节点newNode2
TreeNode newNodeB = newNodeA.Nodes.Add(newmenuA.DropDownItems[j].Text);
newNodeB.ImageIndex = 3;
Var_Bool = true;
//判断当前命令项的上一级命令是否可用
if (BL == false)
{
//设置当前命令项的字体颜色为不可用色
newNodeB.ForeColor = Color.Silver;
//标识,不显示相应的窗体
newNodeB.Tag = 0;
Var_Bool = false;
}
else
{
//判断当前命令项是否为可用
if (newmenuA.DropDownItems[j].Enabled == false)
{
//设置当前命令项的字体颜色为不可用色
newNodeB.ForeColor = Color.Silver;
//标识,不显示相应的窗体
newNodeB.Tag = 0;
Var_Bool = false;
}
else
{
//设置当前命令项的字体颜色为可用色
newNodeA.ForeColor = Color.Black;
//标识,显示相应的窗体
newNodeB.Tag = int.Parse(newmenuA.DropDownItems[j].Tag.ToString());
}
}
//将当前菜单项的所有相关信息存入到ToolStripDropDownItem对象中
//继续遍历
ToolStripDropDownItem newmenuB = (ToolStripDropDownItem)newmenuA.DropDownItems[j];
//如果当前命令项有子项
if (newmenuB.HasDropDownItems && newmenuA.DropDownItems.Count > 0)
{
//标识,有子项的命令项
newNodeB.Tag = 0;
//调用递归方法
GetCavernMenu(newNodeB, newmenuB, Var_Bool);
}
}
}
}
protected void treeView1_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)
{
// Determine by checking the Text property.
//MessageBox.Show(e.Node.Text);
}
}
...全文
相关推荐
三小时掌握TREEVIEW控件
(, tvwChild, "1", "水果") Nodeindex.Image = 1 ' 图标索引,对应IMAGELIST中的键值 Nodeindex.SelectedImage = 1 ' 选中时的图标索引
在Visual FoxPro中使用TreeView控件
添加节点到TreeView的Nodes集合中的语法如下:```vfpobject.Add(relative, relationship, key, text, image, selectedimage)
vc++搜索目录下所有文件
insertStruct.hInsertAfter = TVI_LAST; // 插入到末尾 insertStruct.item.mask = TVIF_TEXT | TVIF_IMAGE | TVIF_SELECTEDIMAGE
控件 CTreeCtrl 实例
其中,`CTreeCtrl`是MFC为Windows控件`TVN`(TreeView Control)提供的封装,用于创建树形视图。
tree control(使用说明).txt
TVI_ROOT; TCItem.hInsertAfter = TVI_LAST; TCItem.item.mask = TVIF_TEXT | TVIF_PARAM | TVIF_IMAGE | TVIF_SELECTEDIMAGE


