¿Cómo obtener Windows nativo para buscar .NET TreeView?

Árboles

Cuando uso el componente TreeView en .NET, obtengo el aspecto del árbol izquierdo. ¿Cómo puedo obtener el aspecto del árbol correcto (Windows Native Look) para mi .NET TreeView?

Lo que quiero obtener especialmente es el nodo “triángulo” maneja y el cuadrado azul “burbuja” de selección.

    Necesita P / Invocar para llamar a SetWindowTheme pasando el identificador de ventana del árbol y usar “explorador” como tema.

    Pegue el siguiente código en una nueva clase en su proyecto, compile y use este control personalizado en lugar del control integrado TreeView .

    DO#:

     public class NativeTreeView : System.Windows.Forms.TreeView { [DllImport("uxtheme.dll", CharSet = CharSet.Unicode)] private extern static int SetWindowTheme(IntPtr hWnd, string pszSubAppName, string pszSubIdList); protected override void CreateHandle() { base.CreateHandle(); SetWindowTheme(this.Handle, "explorer", null); } } 

    VB.NET:

     Public Class NativeTreeView : Inherits TreeView Private Declare Unicode Function SetWindowTheme Lib "uxtheme.dll" (hWnd As IntPtr, pszSubAppName As String, pszSubIdList As String) As Integer Protected Overrides Sub CreateHandle() MyBase.CreateHandle() SetWindowTheme(Me.Handle, "Explorer", Nothing) End Sub End Class 

    Tenga en cuenta que este truco también funciona exactamente de la misma manera para el control ListView .