WinForms按钮的颜色设置为70%不透明度

3

我希望当我悬停在按钮上时,它仍然保持30%的透明度(这样您可以看到表单背景图像),但仍然能看到一些颜色。

我尝试了这个方法,但它只给了我一个黑色的空白:

private void roundedButton2_MouseEnter(object sender, EventArgs e)
        {
            roundedButton2.UseVisualStyleBackColor = false;
            roundedButton2.FlatAppearance.MouseOverBackColor = Color.FromArgb(100, Color.Black);
        }

        private void roundedButton2_MouseLeave(object sender, EventArgs e)
        {
            roundedButton2.UseVisualStyleBackColor = true;
            roundedButton2.BackColor = Color.Transparent;
        }

这里我有一个鼠标移出和鼠标移入按钮的例子,让你看到我的效果。 编辑:问题已解决...现在上面的代码完全符合我的要求。


你到目前为止尝试了什么? - M. Wiśnicki
你能给我们展示一下表单的图片吗? - Lekve
我希望按钮直接放在表单上面,是这样吗? - TaW
1
然后在 Mouse_Enter 中使用 roundedButton2.FlatAppearance.MouseOverBackColor = Color.FromArgb(100, Color.Black); - TaW
问题已经解决。@DinaBogdan - C. Cristi
显示剩余5条评论
1个回答

1
问题已解决。我将代码更改如下:
private void roundedButton2_MouseEnter(object sender, EventArgs e)
        {
            roundedButton2.UseVisualStyleBackColor = false;
            roundedButton2.FlatAppearance.MouseOverBackColor = Color.FromArgb(100, Color.Black);
        }

        private void roundedButton2_MouseLeave(object sender, EventArgs e)
        {
            roundedButton2.UseVisualStyleBackColor = true;
            roundedButton2.BackColor = Color.Transparent;
        }

必须在背景颜色之前添加FlatAppearance


你其实不需要改变事件中的颜色,因为它们已经与事件相关联了。 - TaW
1
你能帮我解决这个问题吗:http://stackoverflow.com/questions/41204056/transparent-textbox-70-black#? - C. Cristi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接