1.Flat button

用这个方法,前提是要把button的type设置为Flat

button1.TabStop = false;
button1.FlatAppearance.BorderSize = ;
button1.FlatAppearance.BorderColor = Color.FromArgb(, , , ); //设置边框的颜色Transparent
button1.FlatAppearance.MouseOverBackColor = Color.FromArgb(, , , ); //设置鼠标经过时候的背景颜色Transparent
button1.FlatAppearance.MouseDownBackColor = Color.FromArgb(, , , ); //设置鼠标按下时候的背景颜色Transparent

这样按钮的效果图如下

c#  给button添加不规则的图片以及用pictureBox替代button响应点击事件-LMLPHP后面的颜色是窗体的颜色不是按钮的颜色。

接下来响应点击事件。

//鼠标落下设置一张图片
private void button1_MouseDown(object sender, MouseEventArgs e)
{
this.button1.Image = Image.FromFile(@"../../images/close_click.png");
} //鼠标弹起恢复原来图片
private void button1_MouseUp(object sender, MouseEventArgs e)
{
this.button1.Image = Image.FromFile(@"../../images/close_default.png");
} //响应点击事件
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("I'm normal button");
}

2.用pictureBox

 private void pictureBox2_MouseDown(object sender, MouseEventArgs e)
{
this.pictureBox2.Image = Image.FromFile(@"../../images/close_click.png");
} private void pictureBox2_MouseUp(object sender, MouseEventArgs e)
{
this.pictureBox2.Image = Image.FromFile(@"../../images/close_default.png");
} private void pictureBox2_Click(object sender, EventArgs e)
{
MessageBox.Show("I'm closed");
}
05-08 14:53