TreeView Control类似于utorrent

时间:2010-12-08 20:47:09

标签: c# .net wpf winforms treeview

在uTorrent 2.2中,当选择树视图节点时,该节点具有类似的按钮外观。这使得.NET treeview控件对我来说似乎不够。现在我知道utorrent是用C ++编写的,但有没有人知道他们是如何做到这一点的,或者有人知道库那里就足够了吗?

alt text

1 个答案:

答案 0 :(得分:4)

它是一个标准的Windows TreeView控件,应用了Win7“Explorer”视觉样式。通过更改控件的主题,您可以轻松地在自己的程序中获得一个。在项目中添加一个新类并粘贴下面显示的代码。编译。将新控件从工具箱顶部拖放到表单上。

using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;

class MyTreeView : TreeView {
    protected override void OnHandleCreated(EventArgs e) {
        if (Environment.OSVersion.Version.Major >= 6) {
            SetWindowTheme(this.Handle, "Explorer", null);
        }
        base.OnHandleCreated(e);
    }
    [DllImportAttribute("uxtheme.dll", CharSet = CharSet.Auto)]
    private static extern int SetWindowTheme(IntPtr hWnd, string appname, string idlist);
}

除非您使用WindowsFormHost类,否则WPF无法直接进行此操作。