從數據庫中獲取數據填充樹(多層)。在單擊樹的節點時,只填充其下第一級節點,其下面的第二級節點不填充。我在填充的第一級節點的Tag中放有一Bool,當為True時,表示該節點下有子節點。現在要解決的問題是如何在不單擊節點而通過Tag中的Bool值在節點前顯示"+"號謝謝!!
解决方案 »
- 为什么系统总是点击运行,保存的时候CS文件里有的地方就汉字多出几个字
- propertyGrid如何获取窗体中的控件名
- tabControl的tabPage里面的控件如何读取!!
- 求救:关于frameset!!
- 程序重新运行的办法?
- 关于TextEditor组件的使用问题~~
- WINCE 下Button控件的一个问题,50分送上,求解!
- textchanged 事件
- 正好整理了一下,自己做了个连接数据库的组件,支持SQLSERVER,ACCESS,ORACLE,FoxPro,MySql,IBM DB2,DBF等数据库,并且支持事务处理
- 帅哥们进吧!小问题。
- 如何用波形图显示网络流量(C#.NET实现)
- .net开发入门和提高???
using System.Runtime.InteropServices;public struct TVITEM
{
public uint mask;
public IntPtr hItem;
public uint state;
public uint stateMask;
public string pszText;
public int cchTextMax;
public int iImage;
public int iSelectedImage;
public int cChildren;
public int lParam;
}[DllImport("User32.DLL")]
public static extern int SendMessage(IntPtr hWnd, uint Msg, int wParam, ref TVITEM iParam);
public const int TVIF_CHILDREN = 0x0040;
public const int TV_FIRST = 0x1100;
public const int TVM_SETITEM = TV_FIRST + 63;private void button1_Click(object sender, EventArgs e)
{
foreach (TreeNode vTreeNodeL1 in treeView1.Nodes)
{
foreach (TreeNode vTreeNodeL2 in vTreeNodeL1.Nodes)
{
TVITEM vTVITEM = new TVITEM();
vTVITEM.cChildren = 1;
vTVITEM.hItem = vTreeNodeL2.Handle;
vTVITEM.mask = TVIF_CHILDREN;
SendMessage(treeView1.Handle, TVM_SETITEM, 0, ref vTVITEM);
}
}
}private void treeView1_BeforeExpand(object sender, TreeViewCancelEventArgs e)
{
if ((e.Node.Level == 1) && (e.Node.Nodes.Count <= 0))
e.Node.Nodes.Add("Zswang 路过");
}