我正在寻找一种方法:
如您所见,我的目标是在资源管理器UI中构建一些东西。此外,它看起来非常像控制面板的东西。
我想获得代码示例如何执行此C#(这是我的“主要”语言),C ++或任何其他编程语言。
谢谢。
P.S:在Windows XP,Windows Vista和Windows 7中进行此操作之间存在任何差异,请说出来。
编辑:应用程序将以某种方式(这是问题)进入Windows资源管理器。 如何运行应用程序(实际上“查看”)?用户将打开Windows资源管理器,在地址栏中输入“我的应用程序”,按回车键,他将看到类似上面的内容。
谢谢。
修改:呃......我刚进入MSDN http://msdn.microsoft.com/en-us/library/bb757044.aspx这个网站。 我猜想实现我的想法的唯一简单方法是制作控制面板小程序。
也许有人知道,如何映射控制面板路径。例如,用户转到“我的应用程序”,但被重定向到“控制面板\我的应用程序”?
谢谢。
答案 0 :(得分:1)
我不完全确定这里的问题是什么,因为你没有提到在尝试设计你想要的界面时遇到的问题究竟是什么。
(编辑:我在这里假设WinForms,因为原始问题没有指定。如果你使用WPF,你可能会发现有些事情甚至更简单,但很多相同的链接仍然适用。)
老实说,大多数这些在Visual Studio Designer中复制起来非常简单。您在屏幕截图中用箭头指示的Labels
,LinkLabels
和Buttons
都可以在WinForms应用程序中使用,它们看起来就像那样。要确保它们完全复制Windows本机外观,请在显示该属性的任何控件上将FlatStyle
设置为“System”。
表单的背景只是普通的白色而不是3D控件颜色(哦,UI设计是如何圈成的)。您可以通过将表单的BackColor
property设置为“白色”来实现相同目的。
这让我们重新实现了资源管理器风格的工具栏,在我看来它可能更好地接近你的实际问题。您注意到的第一件事是工具栏中的Aero玻璃效果。这里有很多关于如何在WinForms应用程序中获得Aero玻璃效果的问题,以及在互联网上发布的更多博客文章,代码示例等。您只需将窗口边框的玻璃效果扩展到客户区。当然,.NET Framework中没有内置对此的支持,您将不得不P / Invoke Windows Vista及更高版本中存在的Desktop Window Manager (DWM) API以实现此效果,这可以获得复杂很快。这些链接应该有助于您入门:
完成后,剩下的就是在客户区的顶部区域添加一些控件,您现在将其渲染为玻璃。上面的屏幕截图有两个后退/前进按钮和两个文本框。这些都应该相对简单地重新创建。 back / foward按钮图标是Windows shell库中包含的标准图像 - 查看this question的答案,了解有关如何检索它们的一些想法。路径文本框对我来说看起来并不特别,所以除非你正在寻找它的自定义行为(面包屑导航等),否则你可以使用标准的WinForms TextBox
控件。对于搜索文本框,快速谷歌搜索发现了一个链接this article关于如何在WinForms中重新实现它,这看起来很有希望。
我意识到这可能看起来很多,但最好的办法就是深入研究它,采用标准控制,他们会做你想做的事情,creating custom controls that derive from those standard controls你需要一些额外的东西。如果/遇到特定问题,请随时提出更具体的问题,以便我们提供更好的见解。祝你好运!
后记:据我所知,大部分内容在Windows Vista和Windows 7上的外观和工作方式相同.Windows XP不支持桌面窗口管理器,因此没有Aero用户界面。 Windows资源管理器在Windows XP中看起来非常不同。如果您尝试在Windows XP上重新创建Windows Vista +的外观,那么您确实可以为您完成工作。您将不得不检测用户正在运行的操作系统,如果它低于Vista,请恢复自定义绘制所有自己的窗口镶边,其中Aero glass将在更高版本的Windows中使用。
答案 1 :(得分:0)
你为什么需要这个?在Visual Studio中,您可以为项目添加类似浏览器的窗口。
除此之外,你必须将控件放在一起,构建自己的,并开发很多类(不要在一个类中完成所有这些吗?IE,学习OOP,如果你需要的话可以得到一本书)
干杯:)
答案 2 :(得分:0)