求解!C#重画窗体TextureBursh纹理问题求解!
我在微软中国社区看到了一篇文章:《使用Visual C#制作可伸缩个性化窗体》按照教学步骤基本上可以实现一个自定义窗体,可是有一个问题我不能解决,不理解,
来此请各路编程高手指点迷津,谢谢!
1.在手动重画窗体标题栏时,我用了如下代码画了标题栏左角:
程序代码:
private void DrawTop_Left(Graphics e) { Brush brush = new TextureBrush(topRight, new Rectangle(0, 0, topRight.Width, topRight.Height)); e.FillRectangle(brush, 0, 0, topRight.Width, topRight.Height); }画出了如下窗口:(图1)
2.我用同一张图片来手动重画窗体标题栏的右角,代码如下:
程序代码:
private void DrawTop_Right(Graphics e) { Brush brush = new TextureBrush(topRight, new Rectangle(0, 0, topRight.Width, topRight.Height)); e.FillRectangle(brush,this.Width-topRight.Width,0, topRight.Width,topRight.Height); }
画出了如下窗口:(图2)
我用来做为纹理的源图片是:
问题就在这里,为什么上面(图2)会变的那么乱呢?是什么原因引起的呢?我要如何解决这个问题?
(这张图片的目的是放在窗体的右上角,要用来放置系统按钮的,比如关闭按钮,最大化按钮等)