【问题标题】:Form looks like a balloon形状看起来像一个气球
【发布时间】:2009-12-21 20:33:06
【问题描述】:

我只是想在 .net 中的 winform 中创建一个自定义形状的气球形状的表单控件。 需要一个透明的气球工具提示,我可以在工具提示上放置按钮,但是 .net 中的工具提示不提供我们可以将按钮放在工具提示控件上的功能,因此 我想让一个表单控件看起来像一个气球工具提示,所以我可以把按钮放在那个看起来像一个工具提示的表单上。但是我不能显示窗口表单控件看起来像一个气球工具提示。 所以我该怎么做?? 我尝试了一种方法,即在气球形状的 powerpoint 中创建图像并将其设置为表单属性的背景图像。但是没有解决方案。

【问题讨论】:

  • 这在 Winforms 中可不是件简单的事情——您必须像其他答案所建议的那样创建某种自定义控件/窗口。是的,这将涉及一些工作。
  • @Harikrishna - 请不要一直问同样的问题。如果有不清楚的地方,请编辑问题以澄清它。我已经合并了重复项。

标签: c# .net winforms


【解决方案1】:

Control 类支持 alpha

Windows 窗体中唯一可用的可以作为顶级窗口的控件是窗体。问题是:透明度技巧不再有效。由于顶级窗口没有父窗口,因此没有任何明显的窗口可以要求绘制背景。它可能是许多窗口,属于其他进程。您可以使用其 TransparencyKey 属性在 Form 中获得透明度。但这是一种“硬”透明度,相当于 0 的 alpha。您可能想要一个软透明度。另一个令人讨厌的问题是绘制抗锯齿 (ClearType) 文本不再起作用,因为不再有可靠的背景像素颜色。

长话短说:除非您将气球限制在表单的客户区域,否则您无法正常工作。控件,而不是表单。

【讨论】:

    【解决方案2】:

    您可以尝试挂钩控件的 Paint 事件并在那里绘制按钮的 Visual。

    【讨论】:

      猜你喜欢
      • 2017-06-24
      • 2012-11-20
      • 2013-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-28
      • 2019-05-18
      • 1970-01-01
      相关资源
      最近更新 更多