c#怎样修改窗体外表? 我是用Microsoft Visual Studio 2005做的

c#怎样修改窗体外表?我是用MicrosoftVisualStudio2005做的还有怎样放gif让它能显示动态动呢?例如这样... c#怎样修改窗体外表? 我是用Microsoft Visual Studio 2005做的
还有怎样放gif让它能显示动态动呢?

例如这样
展开
 我来答
風琪槿u
2009-12-29
知道答主
回答量:42
采纳率:0%
帮助的人:24.6万
展开全部
不建议用第三方皮肤控件
要做成QQ那样的话可以自己重画
不过有一点难度
1.就是Paint事件只能重画客户区,不能画控制条和边框
2.把他们隐藏又不能满足托动和通过鼠标改变窗体大小的要求。
解决方法:
1.把边框隐藏,重画客户区容易,不用说了,关键是托动和改变大小的效果,用一般的处理方法直接改变会使的效率低,而且肯定不是楼主想要的,这就要考虑下系统已提供的方法,由于控制条和边框已隐藏,所以要用API函数来骗,
这里我写一个托动,其它也类似
[DllImport("user32.dll")]
public static extern bool ReleaseCapture();

[DllImport("user32.dll")]
public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam);
这两个是用到的API函数
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
ReleaseCapture();//首先释放鼠标焦点捕获
SendMessage(this.Handle, 0x0112, 0xF011, 0);//然后向当前窗体发送控制条被按下并移动的消息
}
2.重画非客户区

[DllImport("user32.dll")]
private static extern IntPtr GetWindowDC(IntPtr hWnd);
[DllImport("user32.dll")]
private static extern int ReleaseDC(IntPtr hWnd, IntPtr hDC);

IntPtr vHandle = GetWindowDC(this.Handle);
//这里就获得了一个Graphics类对象然后可以像画客户区一样再上面画画了
Graphics vGraphics = Graphics.FromHdc(vHandle);

时间关系,只写了大至思路,具体算法还要楼主自己想想
百度网友7c6f022
2009-12-17 · TA获得超过398个赞
知道答主
回答量:172
采纳率:0%
帮助的人:89.5万
展开全部
修改窗体去百度的C#吧里面看,这里也说不清楚,用picturebox能让gif显示动态
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
runcr
2009-12-18 · 超过46用户采纳过TA的回答
知道小有建树答主
回答量:159
采纳率:0%
帮助的人:98.5万
展开全部
1.使用第三方换肤控件,baidu一下下载一个(本人不是很喜欢)
2.重绘窗体,虽然很麻烦,但是写过一次可循环使用,此方法本人一直在使用

至于显示动态的GIF,你可以去csdn上找一下,解决方法有很多。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式