我正在使用C#2.0,我想创建一个facebook风格的工具提示窗口。我目前用2个窗口和透明键制作它。一个用于三角形箭头指针,一个用于方形。整个画面看起来像是:
我有重绘问题(如图所示)。
有没有办法在那上面使用整形窗户? (虽然我需要让它变得相当大) 如果不是,这是正确的方法吗?或者我需要将三角形“粘合”到矩形
答案 0 :(得分:0)
两种解决方法 -
使用透明度:Irregular shaped Windows Form (C#)
或使用Control.Region,它是窗口的实际形状。大量样品或: How do I make a genuinely transparent Control?
protected override void OnSizeChanged(EventArgs e)
{
base.OnSizeChanged(e);
const int ArrowSize = 25;
Point[] points = new[] {
new Point(ArrowSize, 0),
new Point(this.Width, 0),
new Point(this.Width, this.Height),
new Point(ArrowSize, this.Height),
new Point(ArrowSize, ArrowSize),
new Point(0, ArrowSize/2)
// don't need - autocloses
// ,new Point(ArrowSize, 0)
};
GraphicsPath path = new GraphicsPath();
path.AddLines(points);
this.Region = new Region(path);
}