我将在我的程序中显示错误消息.
我希望我的消息如下图所示,
正如你所看到的,当弹出消息时,我需要显示一个暗影.
我按照两个解决方案来做到这一点:
1 - 我拍摄程序的截图(我将它与黑色混合,有点暗)然后我将它附加到面板上,然后显示面板,然后弹出消息表单.它不起作用,因为有时它会从屏幕上的其他程序截取屏幕截图(例如电报通知)
2 - 我使用一个丰富的面板(我从互联网上获得)它可以具有不透明度属性,然后我将面板的颜色设置为黑色,不透明度设置为0.5.然后我弹出消息.它不起作用,因为这个新面板没有涵盖所有元素(IDK为什么!)
这两种解决方案都有一些问题而且没有用.有没有解决方案来显示这样的消息?
我使用win表单而不是WPF
这是我丰富的小组:
public class ExtendedPanel : Panel
{
private const int WS_EX_TRANSPARENT = 0x20;
public ExtendedPanel()
{
SetStyle(ControlStyles.Opaque, true);
}
private int opacity = 50;
[DefaultValue(50)]
public int Opacity
{
get
{
return this.opacity;
}
set
{
if (value < 0 || value > 100)
throw new ArgumentException("value must be between 0 and 100");
this.opacity = value;
}
}
protected override CreateParams CreateParams
{
get
{
CreateParams cp = …Run Code Online (Sandbox Code Playgroud) 如何在C#windows表单应用程序中制作半透明表单
我尝试了TransparentKey它使它完全透明.并尝试Opacity但它影响整个形式(与控件).
我只希望表单部分是半透明的而不是控件.
我有一个可以显示或隐藏的详细信息面板.
如何显示/隐藏该面板(当然还有其内容)的简单淡入淡出效果?
我正在使用Windows窗体,并且控件opacity在Windows窗体中没有属性.
我最近开始探索Visual Studio.我试图创建一个幻灯片菜单.更具体地说,当用户按下按钮时,子菜单会弹出到右侧.为了实现这一点,我已经放置了一个Panel调整自己的大小.除了功能,我想添加更多的设计,使Panel显示有点褪色.
我知道Panels在Visual Studio中没有不透明度,但我在想是否有人知道如何实现它的方法技巧.我尝试过Picture Box但是也没有Opacity作为属性.我避免使用Menuvisual studio提供的常规对象,因为我想添加更多设计.有任何想法吗?
我已经在winforms上看到了透明背景?
它不能解决我的问题.我使用相同的方法来尝试实现透明度
public Form1()
{
this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
InitializeComponent();
this.BackColor = Color.FromArgb(0, 0, 0, 0);
}
Run Code Online (Sandbox Code Playgroud)
但这会产生灰色背景,而不是透明的.如何获得实际透明背景(注意,透明度键解决方案不提供透明背景,当我使用小于255的alpha通道绘制时,它与设置的表单背景颜色混合,而不是实际背景)?我想绘制到alpha <255的屏幕的某些区域并与背景(不是表单)混合.
如您所知,在 WPF 中是可能的。但是我在 Windows 窗体中有一个项目,但我不想努力将项目移动到 WPF 中。那么在 Windows 窗体中可能吗?(与另一个问题不同,我不问面板的透明度。我问的是“如果我要使用背景图像”,我可以让它半透明吗。)