此方法适用于,父窗体或者父控件设置了背景图片,运用以下代码,可以使按钮透明:
/// <summary> /// 设置透明按钮样式 /// </summary> /// <param name="btn"></param> private void SetBtnTransparent(Button btn) { btn.Cursor = Cursors.Hand; btn.FlatStyle = FlatStyle.Flat;//样式 btn.ForeColor = Color.Transparent;//前景 btn.BackColor = Color.Transparent;//去背景 btn.FlatAppearance.BorderSize = 0;//去边线 btn.FlatAppearance.MouseOverBackColor = Color.Transparent;//鼠标经过 btn.FlatAppearance.MouseDownBackColor = Color.Transparent;//鼠标按下 }
例如按钮是添加到Panel中的,此时的Panel设置了背景图:
panel1.BackgroundImage = Properties.Resources.bg;
然后将按钮添加到Panel中:
button.Location = new Point(100, 100);//设置要添加的位置坐标 button.Size = new Size(40, 40);//按钮大小 button.BackgroundImage = Properties.Resources.bg; SetBtnTransparent(button); this.panel1.Controls.Add(button);