左侧是一个树,当点击相应的节点时,弹出相应的功能窗口。现在的问题是:
代码中加了一个类成员变量inittvn,去除了一进入就会弹出第一个功能窗口的问题。但是,又出现了另一个问题。那就是,进入页面后默认选择的节点是第一个节点,再次选择第一个节点根本没有反应。只有当选择了其它节点再回来选择第一个节点时,才会弹出窗口。可不可以把TteeView默认选择节点的属性去掉,开始进入不选择任何节点。代码如下:bool inittvn = false;//定义类变量,初始化treeview节点,去除初始选择。
private void TreeView_AfterSelect(object sender, TreeViewEventArgs e)
{
//判断语句,去除TreeView节点的初始选择
if (!inittvn)
{
inittvn = true;
return;
}
if (inittvn)
{
switch (Convert.ToInt32(((System.Windows.Forms.TreeView)(sender)).SelectedNode.Tag))
{
case 1:
{
Yegl yegl = new Yegl(); if (yegl.ShowDialog(this) == DialogResult.OK)
{
}
}
break;
case 2:
{
Hykgl hykgl = new Hykgl(); if (hykgl.ShowDialog(this) == DialogResult.OK)
{ }
}
break; case 3:
{
Xfgl xfgl = new Xfgl(); if (xfgl.ShowDialog(this) == DialogResult.OK)
{ }
}
break; case 4:
{
Szgl szgl = new Szgl(); if (szgl.ShowDialog(this) == DialogResult.OK)
{ }
}
break; case 5:
{
Spgl spgl = new Spgl(); if (spgl.ShowDialog(this) == DialogResult.OK)
{ }
}
break; case 6:
{
Yhgl yhgl = new Yhgl(); if (yhgl.ShowDialog(this) == DialogResult.OK)
{ }
}
break;
case 7:
{
Jbxx jbxx = new Jbxx(); if (jbxx.ShowDialog(this) == DialogResult.OK)
{ }
}
break; default: break;
}
}
}
代码中加了一个类成员变量inittvn,去除了一进入就会弹出第一个功能窗口的问题。但是,又出现了另一个问题。那就是,进入页面后默认选择的节点是第一个节点,再次选择第一个节点根本没有反应。只有当选择了其它节点再回来选择第一个节点时,才会弹出窗口。可不可以把TteeView默认选择节点的属性去掉,开始进入不选择任何节点。代码如下:bool inittvn = false;//定义类变量,初始化treeview节点,去除初始选择。
private void TreeView_AfterSelect(object sender, TreeViewEventArgs e)
{
//判断语句,去除TreeView节点的初始选择
if (!inittvn)
{
inittvn = true;
return;
}
if (inittvn)
{
switch (Convert.ToInt32(((System.Windows.Forms.TreeView)(sender)).SelectedNode.Tag))
{
case 1:
{
Yegl yegl = new Yegl(); if (yegl.ShowDialog(this) == DialogResult.OK)
{
}
}
break;
case 2:
{
Hykgl hykgl = new Hykgl(); if (hykgl.ShowDialog(this) == DialogResult.OK)
{ }
}
break; case 3:
{
Xfgl xfgl = new Xfgl(); if (xfgl.ShowDialog(this) == DialogResult.OK)
{ }
}
break; case 4:
{
Szgl szgl = new Szgl(); if (szgl.ShowDialog(this) == DialogResult.OK)
{ }
}
break; case 5:
{
Spgl spgl = new Spgl(); if (spgl.ShowDialog(this) == DialogResult.OK)
{ }
}
break; case 6:
{
Yhgl yhgl = new Yhgl(); if (yhgl.ShowDialog(this) == DialogResult.OK)
{ }
}
break;
case 7:
{
Jbxx jbxx = new Jbxx(); if (jbxx.ShowDialog(this) == DialogResult.OK)
{ }
}
break; default: break;
}
}
}
{
if (treeView1.SelectedNode == null) return;
if (e.Node == treeView1.Nodes[0]) e.Cancel = true;
}
先谢谢您。可是有点不懂啊“TreeViewCancelEventArgs”,这是什么事件?什么思路能麻烦您解释下吗?
TreeNodeMouseClickEventArgs e)
{
switch (Convert.ToInt32(e.Node.Tag))
{}
}
public Form1()
{
InitializeComponent();
treeView1.BeforeSelect += new TreeViewCancelEventHandler(treeView1_BeforeSelect);
}
void treeView1_BeforeSelect(object sender, TreeViewCancelEventArgs e)
{
if (e.Action == TreeViewAction.Unknown)
{
e.Cancel = true;
}
}