我想让我的应用程序看起来更像一个本地应用程序,而不是一个.NET应用程序,我使用.NET是因为有了Visual和C#。
我看到一些本地应用程序使用的工具栏看起来非常类似Vista/7菜单。
请查看该示例:

一些本地应用程序,如Notepad++、Codeblock等,在工具栏上使用相同的Vista/7样式。我如何在C#中做同样的事情呢?我知道P/Invoke,所以我需要知道要使用的方法或示例。
我不使用ToolBarStrip,我使用ToolBar是因为它的固有特性。我可以使用什么P/Invoke使工具栏看起来像上面的映像(Vista/7 look)?
编辑:基于这个问题的,我需要在P/Invoke中做同样的操作,而不是Win32。
发布于 2017-04-24 08:53:42
Notepad++在源代码中使用本机工具栏控件的两个版本。我假设它会根据Windows版本在两者之间进行选择。您已经尝试了遗留的.NET包装器(ToolBar类),所以这可能不是您所喜欢的。
另一个是最近的钢筋控制,也被称为“酷吧”。注意,它的外观和感觉取决于Windows版本,所以不要离开链接MSDN文章中的(过时)屏幕截图。它没有正式的.NET包装,但程序员已经编写了一些。有一个Codeproject.com项目提出了一个,我通常不推荐任何这样的项目,但你听起来很有能力清除bug。
发布于 2017-04-24 01:04:08
我看到windows vista工具栏已经应用了淡出设置,这在Xaml中更容易使用画笔。
然而,这里有一个可下载的代码项目主题,您可以参考它是如何在那里完成的。
https://www.codeproject.com/Articles/18858/Fully-themed-Windows-Vista-Controls
https://stackoverflow.com/questions/43440981
复制相似问题