开发者

Redrawing and custom shaped windows question

I'm using C#2.0 and I want to create a facebook style tooltip window. I currently made it with 2 windows and transparent key. One for the triangle arrow pointer and one for the square. The whole picture 开发者_C百科looks like that:

Redrawing and custom shaped windows question

I have problem with the redrawing (as shown in the picture).

Is there a way to use whole shaped window on that? (While I need to make it sizeable) If no, is this the proper way to make that? Or I need to 'glue' the triangle to the rectangle


Two ways to solve --

Using transparency: Irregular shaped Windows Form (C#)

Or using Control.Region which is the actual shaping of the window. Plenty of samples or: 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);
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜