gpt4 book ai didi

c# - 重绘和自定义形状的窗口问题

转载 作者:太空宇宙 更新时间:2023-11-03 16:48:14 25 4
gpt4 key购买 nike

我正在使用 C#2.0,我想创建一个 facebook 风格的工具提示窗口。我目前用 2 个窗口和透明键制作它。一个用于三角形箭头指针,一个用于正方形。整个画面看起来是这样的:

enter image description here

我在重绘时遇到问题(如图所示)。

有没有办法在上面使用整个形状的窗口? (虽然我需要让它变大)如果不是,这是正确的方法吗?或者我需要将三角形“粘”到矩形上

最佳答案

两种解决方法--

使用透明度:Irregular shaped Windows Form (C#)

或者使用 Control.Region,它是窗口的实际形状。大量 sample 或: 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);
}

关于c# - 重绘和自定义形状的窗口问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5106268/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com