TreeView Control похож на Utorrent - PullRequest
       13

TreeView Control похож на Utorrent

3 голосов
/ 08 декабря 2010

В uTorrent 2.2, когда выбран узел древовидного представления, узел имеет похожий вид кнопки.Мне кажется, что древовидный элемент управления .NET мне не подходит.Теперь я знаю, что utorrent написан на C ++, но кто-нибудь знает, как они могли это сделать, или кто-нибудь знает о библиотеках, которых было бы достаточно?

alt text

1 Ответ

4 голосов
/ 09 декабря 2010

Это стандартный элемент управления TreeView для Windows с примененным визуальным стилем 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);
}

Это невозможно напрямую для WPF, если вы не используете класс WindowsFormHost.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...