2

背景画像があるパネルコントロールがあります。不透明度を変更したい マウスをその上に移動します。どうやってやるの?私は試した:

  btnExit.BackColor = Color.FromArgb(20,63,63,63);
  btnExit.BackColor = Color.FromArgb(20);

しかし、何も変わりません..これが機能しない理由はありますか? このパネルは、背景画像もある別のパネルの上にあります。ありがとう!

4

1 に答える 1

1

私の知る限り、あなたの方法で行うことができますが、コントロールを更新する必要があると思います。

btnExit.Refresh();

編集:

まず、ボタンFlatStyle を Flat に設定します。

this.btnExit.FlatStyle = System.Windows.Forms.FlatStyle.Flat;

次に、btnExit_MouseHover と btnExit_MouseLeave という 2 つの関数を作成します。

void btnExit_MouseHover(object sender, EventArgs e)
{
  btnExit.BackColor = Color.FromArgb(20, 63, 63, 63);
  btnExit.Refresh();
}

void btnExit_MouseLeave(object sender, EventArgs e)
{
  btnExit.BackColor = Color.FromArgb(100, 63, 63, 63);
  btnExit.Refresh();
}

これらの機能を有効にするには、次の 2 つの EventHandler を追加します。

btnExit.MouseHover += new EventHandler(btnExit_MouseHover);
btnExit.MouseLeave += new EventHandler(btnExit_MouseLeave);

これでうまくいきます。あとは、背景色を好きな色に変更するだけです ;)。

于 2013-01-10T07:56:34.577 に答える