C#中如何控制将窗体整个内容变灰?

小猪八Q 2014-04-01 08:44:54
在VS的扩展管理器中,有这样的一种界面设计,如图所示:




有没有朋友,了解这种实现方式的,winform或者WPF的都行(VS本身应该是基于WPF的)

...全文
750 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
小猪八Q 2014-04-01
  • 打赏
  • 举报
回复
引用 9 楼 danding_ge 的回复:
[quote=引用 7 楼 wpfLove 的回复:]
[quote=引用 5 楼 rui_china 的回复:]
[quote=引用 4 楼 wpfLove 的回复:]
[quote=引用 2 楼 davinciyxw 的回复:]
this.Enabled = false;
xxx.ShowDialog();
...
this.Enabled = true;

不行,无论在WPF中还是在winform中这种方式,窗体没有变化[/quote]
WPF图片置灰
ImageSource isource = image.Source;
FormatConvertedBitmap fcb = new FormatConvertedBitmap((BitmapSource)isource, PixelFormats.Gray32Float, null, 0);
image.Source = fcb;
image.OpacityMask = new ImageBrush(isource);[/quote]
正解,谢谢[/quote]把背景存为图片再加载到image控件?[/quote]
终于找到了点相关资料:
http://q.cnblogs.com/q/25858/
http://msdn.microsoft.com/zh-cn/library/system.windows.media.imaging.formatconvertedbitmap(v=VS.85).aspx
http://blog.csdn.net/oyi319/article/details/6653452
根据参考资料和理解:
VS是采用WPF的方式,对图片设置了统一样式控制,如在IsEnabled为False时,进行灰度处理
而其他的控件的样式同样做了IsEnabled为False的Trigger处理,将选中项目的颜色设置为灰色
也就是窗体相关的所有控件,均进行了相关的IsEnabled的Trigger处理。
公西雒 2014-04-01
  • 打赏
  • 举报
回复
引用 7 楼 wpfLove 的回复:
[quote=引用 5 楼 rui_china 的回复:] [quote=引用 4 楼 wpfLove 的回复:] [quote=引用 2 楼 davinciyxw 的回复:] this.Enabled = false; xxx.ShowDialog(); ... this.Enabled = true;
不行,无论在WPF中还是在winform中这种方式,窗体没有变化[/quote] WPF图片置灰 ImageSource isource = image.Source; FormatConvertedBitmap fcb = new FormatConvertedBitmap((BitmapSource)isource, PixelFormats.Gray32Float, null, 0); image.Source = fcb; image.OpacityMask = new ImageBrush(isource);[/quote] 正解,谢谢[/quote]把背景存为图片再加载到image控件?
gw6328 2014-04-01
  • 打赏
  • 举报
回复
学习,帮顶。
小猪八Q 2014-04-01
  • 打赏
  • 举报
回复
引用 5 楼 rui_china 的回复:
[quote=引用 4 楼 wpfLove 的回复:] [quote=引用 2 楼 davinciyxw 的回复:] this.Enabled = false; xxx.ShowDialog(); ... this.Enabled = true;
不行,无论在WPF中还是在winform中这种方式,窗体没有变化[/quote] WPF图片置灰 ImageSource isource = image.Source; FormatConvertedBitmap fcb = new FormatConvertedBitmap((BitmapSource)isource, PixelFormats.Gray32Float, null, 0); image.Source = fcb; image.OpacityMask = new ImageBrush(isource);[/quote] 正解,谢谢
水目 2014-04-01
  • 打赏
  • 举报
回复
没看明白啥意思
灬浪子灬 2014-04-01
  • 打赏
  • 举报
回复
引用 4 楼 wpfLove 的回复:
[quote=引用 2 楼 davinciyxw 的回复:] this.Enabled = false; xxx.ShowDialog(); ... this.Enabled = true;
不行,无论在WPF中还是在winform中这种方式,窗体没有变化[/quote] WPF图片置灰 ImageSource isource = image.Source; FormatConvertedBitmap fcb = new FormatConvertedBitmap((BitmapSource)isource, PixelFormats.Gray32Float, null, 0); image.Source = fcb; image.OpacityMask = new ImageBrush(isource);
小猪八Q 2014-04-01
  • 打赏
  • 举报
回复
引用 2 楼 davinciyxw 的回复:
this.Enabled = false; xxx.ShowDialog(); ... this.Enabled = true;
不行,无论在WPF中还是在winform中这种方式,窗体没有变化
小猪八Q 2014-04-01
  • 打赏
  • 举报
回复
引用 1 楼 bdmh 的回复:
没看出你要表达什么变灰,你这就是换颜色吗
整个界面都已经变灰色了,包括列表项的选中颜色和前面的图标,这个界面已经完全有彩色变成灰白了
  • 打赏
  • 举报
回复
this.Enabled = false; xxx.ShowDialog(); ... this.Enabled = true;
bdmh 2014-04-01
  • 打赏
  • 举报
回复
没看出你要表达什么变灰,你这就是换颜色吗

111,092

社区成员

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

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

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