Winforms 如何在应用程序中放置ribbon UI元素?

Winforms 如何在应用程序中放置ribbon UI元素?,winforms,windows-ribbon-framework,Winforms,Windows Ribbon Framework,我正在制作一个winform应用程序,并认为它将从Ribbon UI元素中获益匪浅是否可以在我自己的应用程序上设置功能区?如果可以,如何设置 我希望不要依赖第三方工具,如Delphi,因为这样我的应用程序在未来(甚至可能是当前)的Windows版本中很快就会过时。我之所以知道这一点,是因为我看到并注意到它看起来仍然像Office2007,尽管它与Windows7中使用Office2010视觉风格的写字板相比,可能是在同一台机器上。即使是现在,MS Windows 8应用程序在Explorer、写

我正在制作一个winform应用程序,并认为它将从Ribbon UI元素中获益匪浅是否可以在我自己的应用程序上设置功能区?如果可以,如何设置


我希望不要依赖第三方工具,如Delphi,因为这样我的应用程序在未来(甚至可能是当前)的Windows版本中很快就会过时。我之所以知道这一点,是因为我看到并注意到它看起来仍然像Office2007,尽管它与Windows7中使用Office2010视觉风格的写字板相比,可能是在同一台机器上。即使是现在,MS Windows 8应用程序在Explorer、写字板、Paint等中使用Office 2013样式,我看不到任何证据表明Delphi还支持这种视觉样式,或者它会在必要时将其样式调整到Vista等旧平台。如果这太挑剔,很抱歉,但我更喜欢给我的用户他们习惯的体验,而不是我自己的或未来的体验。

我不确定您如何定义“第三方工具”,但这使用了,它非常支持office 10和office 13样式

以下是一些供您尝试的屏幕截图(从codeplex官方网站复制):

2007年

2010年

2013年


我不知道您是如何定义“第三方工具”的,但它使用的是非常支持office 10和office 13样式的

以下是一些供您尝试的屏幕截图(从codeplex官方网站复制):

2007年

2010年

2013年


我不知道您是如何定义“第三方工具”的,但它使用的是非常支持office 10和office 13样式的

以下是一些供您尝试的屏幕截图(从codeplex官方网站复制):

2007年

2010年

2013年


我不知道您是如何定义“第三方工具”的,但它使用的是非常支持office 10和office 13样式的

以下是一些供您尝试的屏幕截图(从codeplex官方网站复制):

2007年

2010年

2013年


如果您打算为用户提供“最自然的外观”,您应该严格遵守Windows Ribbon框架。这是因为Microsoft也将此API用于其“默认”Windows功能区应用程序(MS Word、MS Paint)。这种“本机”实现的优点是(因此,本列表并不要求详尽无遗):

  • 操作系统上的外观定位。这意味着您的Ribbon应用程序将与Windows 7和8上的MS Paint和MS写字板完全相同。这样,应用程序的功能区也将直接受益于Microsoft在未来的Windows更新(当然还有Windows版本)中为Windows功能区框架提供的改进/补丁

  • 不需要其他软件(除了Windows Vista/Server 2008,它需要平台更新来支持Windows功能区框架)

  • > p> com API,因此,可以将带GUI集成到支持COM编程(Windows .NET,C++,Delphi等)的Windows上的任何编程语言的应用程序中。
Microsoft还提供了几种其他功能区实现(参考您的描述时,请参见第一方),但它们都是针对特定软件(Office功能区)或平台(WPF功能区)实现的,或者只是过时了(MFC功能区)。Office功能区不是您的选择,因为它们当然仅限于Microsoft Office应用程序。MFC功能区也是基于COM的,因此理论上可以使用它们。但是如上所述,它们已经过时了,所以您的应用程序看起来就像Office2007的后代。WPF绝对是一种选择,因为:

  • 这些组件非常强大,WPF组件被积极更新/维护

  • 从开发人员的角度来看,它们更容易集成到应用程序中,因为有大量的文档,并且组件受到常见ide(如visualstudio)的良好支持

  • 安装了.NET framework后,这些功能区甚至可以用于“过时”的操作系统,如Windows XP。如果您仍然需要支持Windows XP/2003,那么您应该记住这一点

但是如上所述,这些组件与Microsoft用于其“默认”功能区应用程序的组件不同,因此与Windows功能区框架相比,它们看起来总是有点不同

因此,如果您决定坚持使用Windows Ribbon框架,您现在可以决定是使用“硬核”并自行实现,还是使用现有的包装器,如“”或“”。请将Delphi称为“第三方工具”。我猜那是因为你看到了(德尔福出版社)。这是正确的,这些都是严重过时的,看起来像狗屎,并没有更多的积极维护(和童车,和…)。所以不要使用它们。相反,请直接使用Windows功能区框架。我上面提到的包装器就是这样做的,它只是大大简化了开发过程,因为它实现了所有必需的接口,附带了一个设计器和一些示例应用程序

如果您想使用不同的编程语言,这也没有问题。我之所以首先提到Delphi,是因为您在最初的帖子中写过,而且包装非常好。如上所述,您也可以使用支持COM API编程的任何其他编程

我希望这能让事情变得更清楚一点。[对那些到这里来的人表示敬意!;)]


PS:我没有提到实际的第三方实现,例如DevExpress或TMS的实现,因为您无论如何都想坚持使用Microsoft实现。

如果您打算为用户提供“最原始的外观”,您应该明确地坚持使用Windows Ri