我想使我的应用程序看起来更像是 native 应用程序,而不是.NET应用程序,由于Visual Designer和C#,我使用.NET。

我已经看到一些使用工具栏的 native 应用程序,该工具栏看起来与Vista/7菜单非常相似。

查看示例:

c# - 使ToolBar看起来像Windows Vista/7,而不是经典的-LMLPHP

一些本地应用程序(例如Notepad++,Codeblocks等)对工具栏使用相同的Vista/7样式。如何在C#中执行相同的操作?我知道P/Invoke,因此,我需要知道要使用的方法或示例。

由于 native 性,我不使用ToolBarStrip,而使用ToolBar。我可以使用什么P/Invoke来使工具栏看起来如上图所示(Vista/7外观)?

编辑:基于此question,我需要在P/Invoke而不是Win32中执行相同的操作。

最佳答案

Notepad++在其源代码中使用两种版本的 native 工具栏控件。我假设它基于Windows版本在两者之间进行选择。您已经为旧版(ToolBar类)尝试过.NET包装器,因此可能不是您喜欢的那种。

另一个是较新的Rebar control,也称为“Coolbar”。请注意,其外观取决于Windows版本,因此请不要忽略链接的MSDN文章中的(过时的)屏幕截图。没有官方的.NET包装器,但是程序员已经编写了一些。有一个Codeproject.com project建议一个,我通常不建议任何这样的项目,但是您听起来很有能力解决这些问题。

关于c# - 使ToolBar看起来像Windows Vista/7,而不是经典的,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43440981/

10-10 07:49