winform 这种效果怎么弄啊 在线等

luluyy 2014-10-15 04:23:24


像上面的图片一样 界面有一个阴影,我在网上找了一些代码 但是只有下边和右边有阴影,请问四边有阴影怎么弄呢????
下面是我找的代码


public FrmLogin()
{
InitializeComponent();
SetClassLong(this.Handle, GCL_STYLE, GetClassLong(this.Handle, GCL_STYLE) | CS_DropSHADOW);
}
const int CS_DropSHADOW = 0x20000;
const int GCL_STYLE = (-26);
//声明Win32 API
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern int SetClassLong(IntPtr hwnd, int nIndex, int dwNewLong);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern int GetClassLong(IntPtr hwnd, int nIndex);
...全文
729 28 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
Yun__ 2014-10-24
  • 打赏
  • 举报
回复
如果是需要那种阴影效果 并且某些地方是透明的 就用2个窗体 一个在移动的时候 另外一个跟着..这样既能透明 也能放控件 有很多游戏的登陆界面就是这样的
shawn_yang 2014-10-23
  • 打赏
  • 举报
回复
引用 28 楼 luluyy 的回复:
[quote=引用 27 楼 shawn_yang 的回复:] 一张彩色,一张灰色,彩色叠加灰色上,略微位置偏移一些,立体效果就有了
是两个窗体吗? 一个窗体只能设置一张图片吧 关键是不知道双窗体是嘛意思[/quote] 不是两个窗体,这个可以找美工做,原理是一样的。
xxxuan 2014-10-22
  • 打赏
  • 举报
回复
简单啊wpf
luluyy 2014-10-22
  • 打赏
  • 举报
回复
引用 21 楼 qq6648208281 的回复:
表示这个东东想搞出来 就需要全部自己画控件 会无比蛋疼,要么就是双层窗体 是不是这样的- - 自己画控件 蛋疼死你. 但是窗体效果确实好很多
有例子吗哥们儿 双层窗体是俩窗体叠起来的?
luluyy 2014-10-22
  • 打赏
  • 举报
回复
引用 17 楼 dylike 的回复:
投影效果只是需要一个小图片啊,窗体多大出来多大的投影都是用切图法切出来再拼接的.
实在不行我也就开始拼图了
我叫小菜菜 2014-10-22
  • 打赏
  • 举报
回复
引用 8 楼 u013402605 的回复:
这个阴影不是代码实现的,其实就是个背景图片而已,美工PS给图片加个阴影而已,关键是得用API 函数UpdateLayeredWindow,谷歌一下这个函数看看别人做出来的界面是不是你要的效果
果断找美工。
luluyy 2014-10-22
  • 打赏
  • 举报
回复
引用 27 楼 shawn_yang 的回复:
一张彩色,一张灰色,彩色叠加灰色上,略微位置偏移一些,立体效果就有了
是两个窗体吗? 一个窗体只能设置一张图片吧 关键是不知道双窗体是嘛意思
shawn_yang 2014-10-22
  • 打赏
  • 举报
回复
一张彩色,一张灰色,彩色叠加灰色上,略微位置偏移一些,立体效果就有了
shawn_yang 2014-10-22
  • 打赏
  • 举报
回复
很简单,两张图
Yun__ 2014-10-22
  • 打赏
  • 举报
回复
使用UpdateLayedwindow更新窗体 然后所有控件都要自己画 不然就需要使用双层窗体覆盖上去才行
luluyy 2014-10-21
  • 打赏
  • 举报
回复
还是没有成功 有大牛指点一下吗 最后能有个小例子啊
truediego 2014-10-21
  • 打赏
  • 举报
回复
http://download.csdn.net/detail/comebeer/4331296 这个vb.net的,在win7下有效果,可以在上面添加控件 你翻译成C#试试看呢
Yun__ 2014-10-21
  • 打赏
  • 举报
回复
表示这个东东想搞出来 就需要全部自己画控件 会无比蛋疼,要么就是双层窗体
是不是这样的- - 自己画控件 蛋疼死你. 但是窗体效果确实好很多
truediego 2014-10-21
  • 打赏
  • 举报
回复
LZ你的环境是啥啊? 过了这么久,这么多人的这么多方法,还不行的话,应该是你的环境问题了吧 找个现成的,保证有效果的app在你机子上试试看呢 我的2008 server,咋试都没有效果
殘丿__花 2014-10-21
  • 打赏
  • 举报
回复
不是panel边框么
dylike 2014-10-21
  • 打赏
  • 举报
回复
试了没有成功那肯定是该用的API或代码不全.那直接用我的DSAPI.DLL吧.只要一句代码就行."DSAPI.图形图像.透明窗体.显示图像"
dylike 2014-10-21
  • 打赏
  • 举报
回复
投影效果只是需要一个小图片啊,窗体多大出来多大的投影都是用切图法切出来再拼接的.
luluyy 2014-10-21
  • 打赏
  • 举报
回复
引用 15 楼 dylike 的回复:
画一个阴影图片,然后作为单独的窗体使用UpdateLayedwindow样式,设置与主窗体同步移动. 透明阴影效果示例: http://bbs.csdn.net/topics/390901505
UpdateLayedwindow这个试了 但是没有成功,运行了以后没有反应,网上有使用DLLIMPORT引用系统DLL的,我不想用这种方法,在XP下可能没办法使用,想到了用阴影的图片,但是又考虑到三个问题, 一是图片大了影响程序加载速度,二是假如我有好几个窗体需要用到那美工得做多少图片啊,不方便更改,三是如果程序做出来有换肤的功能,那不是更操蛋啦,更不容易控制了,在网上找了换肤的一个代码,但是里面也用到了系统DLL,试了最终也没有成功,阴影部分的功能做出来了但是是纯灰色的,并不是窗体边上有阴影。 地址如下大家可以看看, http://www.360doc.com/content/11/0710/21/2097544_132780885.shtml 然后大家帮我出出主意啊,有个小例子最好了,谢啦
dylike 2014-10-21
  • 打赏
  • 举报
回复
画一个阴影图片,然后作为单独的窗体使用UpdateLayedwindow样式,设置与主窗体同步移动. 透明阴影效果示例: http://bbs.csdn.net/topics/390901505
luluyy 2014-10-16
  • 打赏
  • 举报
回复
引用 8 楼 u013402605 的回复:
这个阴影不是代码实现的,其实就是个背景图片而已,美工PS给图片加个阴影而已,关键是得用API 函数UpdateLayeredWindow,谷歌一下这个函数看看别人做出来的界面是不是你要的效果
是这个效果 搜索了一下 但是没有成功 有没有小例子呢
加载更多回复(8)

111,092

社区成员

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

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

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