如何用TreeView作应用程序的导航菜单(C#) ? 我想在FrmMain窗体中建一个TreeView作应用程序的导航菜单,当点击TreeView的某个节点时在其右边就会显示对应的功能块,1)这个调用方法是什么?用反射还是什么别的方法?2)这个TreeView调用什么样的控件较为合适,是FORM,还是PANEL,或是别的?谢谢大家分享和指导! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的node节点的tag可以保存一个关于模块信息的类或结构体,然后根据里面的内容,比如模块名动态的加载(反射) 用父窗体,点击TreeView节点显示相应的窗体信息,递归绑定节点信息 private void bindTreeView1() { string sql = "select * from doctype where isdel=0"; DataTable dt = db.ExecuteDataTable(sql, CommandType.Text, null); DataRow[] dr=dt.Select("updirid='-1'"); for (int i = 0; i < dr.Length; i++) { TreeNode tn = new TreeNode(); tn.Text = dr[i]["docdirname"].ToString(); tn.Tag=dr[i]["docdirid"].ToString(); if (dr[i]["isdir"].ToString() == "1") { tn.ImageIndex = 0; FillTree(tn, dt); } else { tn.ImageIndex = 1; } treeView1.Nodes.Add(tn); } } private void FillTree(TreeNode node, DataTable dt) { DataRow[] dd = dt.Select("updirid='"+node.Tag.ToString()+"'"); if (dd.Length > 0) { for (int i = 0; i < dd.Length; i++) { TreeNode tnn = new TreeNode(); tnn.Text = dd[i]["docdirname"].ToString(); tnn.Tag = dd[i]["docdirid"].ToString(); if (dd[i]["isdir"].ToString() == "1") { tnn.ImageIndex = 0; FillTree(tnn, dt); } else { tnn.ImageIndex = 1; } node.Nodes.Add(tnn); } } } 能用panel等容器控件写一段代码吗? 关于泛型与委托的问题 Oracle 11g与ODAC的版本问题 C#能写矩阵求逆之类的算法吗? 求DNN的学习资料以及安装文件等,比较全面的。 Dotnet编译 在下问C#读.txt文件到.mdb的一些问题,路过大侠请不吝指教! 新手询问一个Datagridview的问题 望不吝赐教 一个关于datagrid模板列的问题 如何隐藏或者定制DataGrid中的数据显示呢? GDI+滚动问题,在线等待,立解立结 excelvba客户端传递sql语句给服务器端asp,查询数据返回客户端 求教:网页抓取报:502网关错误
递归绑定节点信息 private void bindTreeView1()
{
string sql = "select * from doctype where isdel=0";
DataTable dt = db.ExecuteDataTable(sql, CommandType.Text, null);
DataRow[] dr=dt.Select("updirid='-1'");
for (int i = 0; i < dr.Length; i++)
{
TreeNode tn = new TreeNode();
tn.Text = dr[i]["docdirname"].ToString();
tn.Tag=dr[i]["docdirid"].ToString();
if (dr[i]["isdir"].ToString() == "1")
{
tn.ImageIndex = 0;
FillTree(tn, dt);
}
else
{
tn.ImageIndex = 1;
}
treeView1.Nodes.Add(tn);
}
} private void FillTree(TreeNode node, DataTable dt)
{
DataRow[] dd = dt.Select("updirid='"+node.Tag.ToString()+"'");
if (dd.Length > 0)
{
for (int i = 0; i < dd.Length; i++)
{
TreeNode tnn = new TreeNode();
tnn.Text = dd[i]["docdirname"].ToString();
tnn.Tag = dd[i]["docdirid"].ToString();
if (dd[i]["isdir"].ToString() == "1")
{
tnn.ImageIndex = 0;
FillTree(tnn, dt);
}
else
{
tnn.ImageIndex = 1;
}
node.Nodes.Add(tnn);
}
}
}