是否可以使用箭头创建自定义控件,使其看起来像这样:
我唯一的问题是创建箭头,因为控件的内容很容易插入。
我找到的最接近的是:http://www.componentone.com/SuperProducts/SuperTooltipWinForms/但我不想使用预先构建的控件,而且它是共享软件。
感谢。
答案 0 :(得分:0)
工具提示是ContentControl
,这意味着他们可以接受任何单个对象(例如StackPanel
),所以是的,这是可能的。
我可能会考虑在没有填充/边距的StackPanel中添加三角形Shape
和Grid
/ StackPanel
,因此两者一起运行。在内部网格/ StackPanel内部,根据任何正常的施工作业,放置TextBox
es,TextBlock
,Label
或您的内容。 MS'Tooltip page给出了一个图像示例(靠近页面底部)。
或者,您可以使用ControlTemplate
自定义工具提示编辑:刚刚注意到你在WinForms领域。这适用于WPF。我不确定分享了多少。
答案 1 :(得分:0)
我发现最简单的方法是使用带有三角形图像画笔的矩形。这很容易。我正在弄清楚自己还有两个问题,那些是:
我还没有测试过添加阴影,但是如果你没有显示,你可以尝试在ToolTip父边框上添加一个边距(没关系,因为它永远不会与任何东西发生冲突)。
对于带有图像画笔的矩形,您可以参考我在CodeProject上写的文章(这很简单)。
http://www.codeproject.com/Articles/1103396/Image-Controls-Using-Dynamic-Colors
此示例中的工具提示正在被切断,因为它位于窗口的最边缘。 ToolTip目标应该是加号图标,但它的位置被推向右侧。理想情况下,我们想要一种方法将箭头向后移动,使其直接位于下方。我编辑了示例图片以显示理想的结果:
作为旁注,如果箭头需要边框,则可以将矩形与路径对象交换。您只需要知道要绘制的路径:p