我需要使用一个.png文件作为按钮。我只想向用户展示一张图片(没有任何额外的区域)。我的问题在于设计和指定应该响应点击的区域。我改变了一些按钮的属性,但是我无法实现我的目的。我将FlatStyle更改为Flat或BackColor更改为Transparent,但是按钮周围仍然有彩色背景。我需要完全删除背景。
我还尝试了PictureBox,但是我再次无法通过属性删除背景。
我还尝试了PictureBox,但是我再次无法通过属性删除背景。
Button
代替PictureBox
。因为它还可以使用键盘和切换,而PictureBox
则不可以。Button
并设置以下属性:Image = optionalPNGImage //should be 32bpp (alpha channel enabled)
BackColor = Color.Transparent;
FlatStyle = FlatStyle.Flat;
FlatAppearance.BorderSize = 0;
FlatAppearance.MouseDownBackColor = Color.Transparent;
FlatAppearance.MouseOverBackColor = Color.Transparent;
ForeColor = System.Drawing.Color.White;
Text = "Hello";
Button
的图片,请创建这些事件://happens when your mouse enters the region of the button.
private void button1_MouseEnter(object sender, EventArgs e)
{
button1.Image = picMouseOver;
}
//happens when your mouse leaves the region of the button.
private void button1_MouseLeave(object sender, EventArgs e)
{
button1.Image = picRegular;
}
//happens when your mouse button is down inside the region of the button.
private void button1_MouseDown(object sender, MouseEventArgs e)
{
button1.Image = picMouseDown;
}
//happens when your mouse button goes up after it went down.
private void button1_MouseUp(object sender, MouseEventArgs e)
{
button1.Image = picRegular;
}
button1.Parent = pictureBox1
。但最好的方法是在窗体的backgroundImage属性中设置背景,而不添加额外的代码。 - Matin LotfalieeControl
的 Region
。http://msdn.microsoft.com/zh-cn/library/system.windows.forms.control.region(v=vs.110).aspx - jordanhill123
PictureBox
(或者)创建一个用户控件。 - Rahul