Tag: 透明

在FlowLayoutPanel滚动期间,背景扭曲+闪烁

我有一个具有背景的Windows窗体应用程序。 在其中,我有一个透明背景的flowlayoutpanel。 滚动时,会发生以下情况: 我也看到一些闪烁。 我已经尝试了所有双缓冲业务,但它不起作用。 有什么建议?

如何在c#中创建可点击的不规则形状区域

我有一个像心脏或任何随机形状的不规则形状的图片。 我可以在视觉上使它透明,但我需要让它只在形状区域上可点击。 我听说我应该使用“Region”,但我无法弄清楚如何。 我试图搜索所有非空,透明或空的像素并使用它们创建一个点数组,但我无法创建/重塑当前控制区域。 我正在尝试制作一个自定义控件,你可以选择一个按钮或图片,它们是不规则形状并且彼此靠近。 这是我正在处理的事情: 正如您在图片中看到的,有8个不同的部分(假设右侧和左侧组合)。 正如您所看到的,它们彼此接近,其中一些甚至适合其他人之间的空白区域。 我的目标是,例如,如果我点击Pectorals(图中的红色区域),它将变为彩色版本,并运行一堆其他代码。 问题是,默认情况下,当我们使用PictureBox添加任何Picture时,它将从该边界开始围绕该图片创建一个Rectangle 。 因此,如果我将两张图片(如图所示)放在一起,则一个空区域会阻止我点击另一张图片。 由于这个问题,它也引发了错误对象的ClickEvent 。 我正在尝试设置“提升事件区域”,我假设我们将Graphic Region称为图像存在的位置。 我可以通过循环收集像素的位置,该循环确定该图片的哪个坐标具有“颜色”(意味着它是图片的一部分,我想要点击的区域)但是我不能用该数据限制该区域。 我想要实现的一个例子: https : //www.youtube.com/watch?v = K_JzL4kzCoE 做这个的最好方式是什么?

C# – 透明表格

我目前有一个表格,除了一个之外,还有所有想要的效果。 目前的forms由顶部的menustrip组成,下面有一个面板,其中包含标签和图片框。 当表单启动时,menustrip不可见,只有当用户按下“Alt”按钮并以相同方式消失时才会显示。 面板将具有透明背景(.PNG)的背景图像。 这个图像将成为表单的主要布局,因为我将borderstyle设置为none。 现在问题是表单在面板下面仍然有白色/浅灰色背景。 现在我的问题是我如何使表单透明,以便面板上的图像成为主要布局,而不仅仅是在其下面具有背景颜色的图像。 我不想使用Opacity属性,因为我希望面板100%可见。

自定义GroupBox,带有自定义TextColor,BorderColor和Transparent BackColor

我正在使用WinForms 。 在我的表单中,我有一个GroupBox 。 这是一个自定义组框。 我想要一个透明的背景groupbox 。 我在为groupbox创建透明背景时遇到问题此代码的问题是当我将组框backcolor设置为透明时,我继续收到错误。 错误:控件不支持透明背景颜色。 g.Clear(BackColor = Color.Transparent); (这是给我问题的那条线) private void DrawGroupBox(GroupBox box, Graphics g, Color textColor, Color borderColor) { if (box != null) { Brush textBrush = new SolidBrush(textColor); Brush borderBrush = new SolidBrush(borderColor); Pen borderPen = new Pen(borderBrush); SizeF strSize = g.MeasureString(box.Text, box.Font); Rectangle rect = new Rectangle(box.ClientRectangle.X, box.ClientRectangle.Y […]

在C#.net中使重叠的图片框透明

我有两个重叠的图片框。两个图片框的图像都有一些透明像素。我想通过重叠图片框的透明像素看到底部图片框。 我尝试将两个图片框的背景颜色设置为透明。但它只是将图片框的背面颜色设置为表单的背景颜色。

C#Windows窗体透明背景图像

当我尝试透明背景时,它并不完全透明。 我为这个问题尝试了两个代码块。 首先,我尝试这样的代码: public Form1() { InitializeComponent(); SetStyle(ControlStyles.SupportsTransparentBackColor, true); this.BackColor = Color.Transparent; this.FormBorderStyle = FormBorderStyle.None; //this.WindowState = System.Windows.Forms.FormWindowState.Maximized; } 它看起来像这张照片; 然后我发现了一些不同的代码并尝试了这个; public Form1() { InitializeComponent(); this.TransparencyKey = Color.White; this.BackColor = Color.White; this.FormBorderStyle = FormBorderStyle.None; this.WindowState = System.Windows.Forms.FormWindowState.Maximized; } 这看起来像这张照片; 您可以看到带有白色边框的徽标。 我想只显示.png徽标完全透明。 我该怎么办? 怎么办呢? 这是我的Logo图像.png;