如题,总结一下,看看有什么好的方法,我知道网上已经有好多了,现在比较一下哪个方法更好方法一 用图片作为窗体的背景图片,然后设置 FormBorderStyle = FormBorderStyle.None;
.TransparencyKey 设置为图片的背景颜色,但这种方法不太理想,出来的窗体在 24 位色以上,窗体的透明部分并没有脱离窗体,还是窗体的一部分。方法二 利用GraphicsPath 和 Region 来构造窗体。这样可以解决上面的问题,但不知道这个方法可不可以象上面那样把一幅图片作为窗体的外观,窗体可见部分就是图片的样子。麻烦知道怎么解决这个问题的大哥们提供一点思路,谢谢了:)在下是个新手。说的不对的地方还请大家指正,构造不规则窗体可能还有别的方法,大家来讨论一下吧,共同进步:)
.TransparencyKey 设置为图片的背景颜色,但这种方法不太理想,出来的窗体在 24 位色以上,窗体的透明部分并没有脱离窗体,还是窗体的一部分。方法二 利用GraphicsPath 和 Region 来构造窗体。这样可以解决上面的问题,但不知道这个方法可不可以象上面那样把一幅图片作为窗体的外观,窗体可见部分就是图片的样子。麻烦知道怎么解决这个问题的大哥们提供一点思路,谢谢了:)在下是个新手。说的不对的地方还请大家指正,构造不规则窗体可能还有别的方法,大家来讨论一下吧,共同进步:)
本示例创建一个椭圆形的窗体。示例
protected override void OnPaint( System.Windows.Forms.PaintEventArgs e )
{
System.Drawing.Drawing2D.GraphicsPath shape = new System.Drawing.Drawing2D.GraphicsPath();
shape.AddEllipse(0, 0, this.Width, this.Height);
this.Region = new System.Drawing.Region(shape);
}