在.NET中使用TreeView组件时,我看到了左树的外观。 我怎样才能得到我的.NET TreeView的正确的树(Windows本机看)的外观?
我特别想得到的是“三angular形”节点处理和蓝色的“泡泡”select广场。
严格的多个.NET进程的负载平衡
WindowsPrincipal.IsInRole考虑到组内的组?
如何为Windows窗体应用程序创build安装程序和卸载程序
Windows安全性自定义loginvalidation
检查两个NTAccount对象的相等性
GetwindowRect在一个应用程序上返回错误的值,所有其他应用程序都是正确的
C#和部分工作的SendMessage?
UNCpath不适用于.NET?
在.NET代码中使用Windows资源pipe理器?
您需要P / Invoke调用SetwindowTheme传递树的窗口句柄,并使用“explorer”作为主题。
将以下代码粘贴到项目中的新类中,编译并使用此自定义控件而不是内置的TreeView控件。
C#:
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
请注意,这个技巧对于ListView控件来说也是一样的。