另类装饰你的Winform - 在窗口的左上角加一个圣诞帽

invalidate0011 2010-12-13 10:15:05
加精
圣诞节快到了,我也捉摸着弄个什么圣诞版,装饰装饰自己的门面,为了不大动干戈,就打算在窗口的左上角加一个圣诞帽,这样简单又有节日气氛

Skin是我第一个想到的方法,为了这么点小东西动辄几兆的库似乎有点动用牛刀之嫌,而且商业版本的都要money,算了

然后又google了半天,看到可以override WndProc,里面WM_NCPAINT,自己手动绘制标题栏,而且自己要处理各个按钮的功能等,好像要处理很多东西,而且我打算画得这个帽子是在界面以外,似乎这个还处理不了

于是乎有了现在这个另类想法,打造一个透明的Form,里面就一个picture控件,然后就让它呆在左上角那也别去


//如果主窗体移动,帽子也要跟着动
private void Form1_LocationChanged(object sender, System.EventArgs e)
{
hat.Location = new Point(this.Location.X-30,this.Location.Y-10);
}

//如果主窗体拿到焦点,帽子也必须在上面
private void Form1_Activated(object sender, System.EventArgs e)
{
if(!hat.TopMost)
{
hat.TopMost = true;
hat.BringToFront();
}
}
//如果主窗体丢掉焦点,帽子也别再上面碍事了
private void Form1_Deactivate(object sender, System.EventArgs e)
{
if(hat.TopMost)
hat.TopMost = false;
}



这里下载源文件http://download.csdn.net/source/2904919
...全文
5086 316 打赏 收藏 转发到动态 举报
写回复
用AI写文章
316 条回复
切换为时间正序
请发表友善的回复…
发表回复
拂晓的镇魂歌 2013-04-15
  • 打赏
  • 举报
回复
这都3年前的帖子了啊- - 我刚下了代码 发现在得到焦点和失去焦点时 使用visible属性比较好 不然在切换窗体时我发现帽子还在屏幕上。
yezeguo 2013-03-25
  • 打赏
  • 举报
回复
确实有想法,楼主知道怎么在最小化按钮左边再加一个按钮上去么?
_猫了个咪 2012-12-28
  • 打赏
  • 举报
回复
引用 56 楼 ha283 的回复:
引用 13 楼 wing7742 的回复:引用 10 楼 zhangzhen_927116 的回复: 引用 9 楼 subxli 的回复: 顶楼主, 要是元旦节来了, 我想弄个蛋上去, 也一样的吧 ? 蛋疼 清明难道要2朵菊花? 求清明节该放什么?
放两个棺材。
by_黑手指 2012-12-27
  • 打赏
  • 举报
回复
我的积分啊
by_黑手指 2012-12-27
  • 打赏
  • 举报
回复
积分怎么得的
Moodger 2012-08-07
  • 打赏
  • 举报
回复
很好呢,谢谢啊
alen0307 2011-04-07
  • 打赏
  • 举报
回复
hat是什么呀?
jcm294787732 2011-03-16
  • 打赏
  • 举报
回复
如何对那帽子的大小进行变大或变小呢
lahuniao 2011-03-11
  • 打赏
  • 举报
回复
很有趣的东西
寻找彩虹 2011-01-31
  • 打赏
  • 举报
回复
楼主 好有创意
lihd2088 2011-01-09
  • 打赏
  • 举报
回复
真的不错
qq458832194 2011-01-07
  • 打赏
  • 举报
回复
(*^__^*) 嘻嘻好东西 拿走了
playdnf 2011-01-07
  • 打赏
  • 举报
回复
好东西啊
Govawu 2011-01-05
  • 打赏
  • 举报
回复
有创意~~~~···
zswd89 2011-01-04
  • 打赏
  • 举报
回复
太有创意了~~
黎漫猜想 2010-12-25
  • 打赏
  • 举报
回复
蛮有意思的做法,不过效率怎么样呢?
cnryc 2010-12-21
  • 打赏
  • 举报
回复
lz创意不错,赞一个
gaowenqiang0204 2010-12-20
  • 打赏
  • 举报
回复
Deactivate不错的创意啊
哥子谭 2010-12-20
  • 打赏
  • 举报
回复
想法不错
fengyeaichou 2010-12-20
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 zh_java_2009 的回复:]
引用 16 楼 abrianna 的回复:
2点积分,你抢劫啊。



顶!
[/Quote]
支持
加载更多回复(243)

110,531

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧