在Winforms(C#)中创建一个系统托盘样式框

我一直在寻找一些资源,我找不到任何资源,所以我会带来这里。

我想在打开快速启动栏时看到一个与快速启动框类似的窗口:

示例窗口http://img63.imageshack.us/img63/6204/volcontrolstyleguide.png

可悲的是,我找不到任何资源; 你能帮我吗?

这很简单。 创建一个新窗体,并将ControlBoxMaximizeBoxMinimizeBox属性设置为false 。 将Title属性设置为空字符串。 这将有效地消除非客户标题栏区域,为您提供:

简单的winforms窗口没有非客户区域

内部部分(与“自定义”一样)可以使用适当大小的面板和链接进行复制。

假设:

  1. 这是一个固定大小的forms,永远不会重新resize

  2. 你希望这适用于XP和Vista(即不使用像’Glass这样的Vista特定技术)。 我之所以提到这一点,毕竟系统托盘确实会回到已故的旧石器时代:)

这是如何做 :

  1. 创建一个与.png文件大小相同的表单

  2. 将ControlBox,MaximizeBox,MinimizeBox属性设置为’false

  3. 将FormBorderStyle设置为’None

  4. 将窗体的透明度键设置为某种颜色,并将窗体的背景颜色设置为相同的颜色:注意使用.png文件中不出现的颜色。

  5. 将一个PictureBox放在Form上,将其Dock属性设置为’Fill:为所有边距设置其Margin属性#0:将其BackColor设置为’Transparent:然后,自然地,将PictureBox的Image属性设置为.png文件。

注意 :

如果你准备了.png图像,那么它被一个透明区域限制,使它看起来是圆形的:你可以直接使用它并跳过实际使Form成为圆角矩形的整个步骤,通过使用API​​调用来设置表单区域:这表示您的表单将具有标准矩形边界框。 如果你能忍受这个:这是一个更简单的解决方案。 关于如何设置区域:继续阅读…

  1. 有关如何将表格的区域设置为RoundedRect,请参阅“如何使表单呈圆角矩形或圆形或三角形” :此SO条目中包含其他几个链接代码示例:Zyphrax在此处提到的链接使用相同的基本技术。

  2. 尝试使用’CreateRoundRect的设置来获得所需的圆角效果。

这听起来像你需要Windows 7 API Code Pack,其中一些API向后兼容Vista。 由于没有说明Windows的特定版本,我不能具体说明..你可以在这里和CodeProject上看这是如何实现的。

希望这会有所帮助,最好的问候,汤姆。

您可以使用普通表单并将其修改为截图:

  1. 将FormBorderStyle属性设置为None
  2. 围绕表单的角落: 更多信息在这里
  3. (如果您愿意,请延长玻璃: 此处有更多信息 ,仅限Vista或更高版本)
  4. 将背景设置为白色并添加一些控件以完成它