| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 589 人关注过本帖
标题:求解!C#重画窗体TextureBursh纹理问题求解!
只看楼主 加入收藏
XQsnwy
Rank: 1
来 自:广东揭阳
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-6-11
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
求解!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)会变的那么乱呢?是什么原因引起的呢?我要如何解决这个问题?
(这张图片的目的是放在窗体的右上角,要用来放置系统按钮的,比如关闭按钮,最大化按钮等)
搜索更多相关主题的帖子: 标题栏 color 微软 中国 文章 
2011-06-11 12:49
dwwwing
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:284
专家分:986
注 册:2008-10-11
收藏
得分:20 
我用下面方法是ok的
        private void DrawTop_Right(Graphics graphics)
        {
            graphics.DrawImage(img_Left, this.Width-img_Left.Width, 0,  img_Left.Width, img_Left.Height);
        }

        private void DrawTop_Left(Graphics graphics)
        {
            graphics.DrawImage(img_Left, 0, 0, img_Left.Width, img_Left.Height);
        }
2011-06-13 10:09
XQsnwy
Rank: 1
来 自:广东揭阳
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-6-11
收藏
得分:0 
回复 2楼 dwwwing
谢谢你!我用了您的方法,现在已经不会出现这个问题了,谢谢!
2011-06-13 21:05
快速回复:求解!C#重画窗体TextureBursh纹理问题求解!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018072 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved