[VC2005] フォームを半透明にする方法
◆概要
この資料は、Microsoft(R) Visual C# 2005で フォームを半透明にする方法について記述しています。
◆Opacityプロパティ
Visual C# Express 2005で フォームを半透明にするには、フォームのOpacityプロパティを設定します。Opacity プロパティは、Double 型の値を持ちます。
設定する値は、0.0 (完全に透明) 〜 1.0 (完全に不透明)
private void Form1_Load(object sender, EventArgs e) { this.Opacity = 0.6; } |
リスト2は、Opacityプロパティを利用して、フォームをフェードアウト、フェードインするサンプルです。
リスト2 フェードアウト、フェードイン
using System; using System.Windows.Forms; namespace OpacityForms { public partial class Form1 : Form { public Form1() { InitializeComponent(); } // 透明度を100%にするための変数 private const int Transparence = 100; private void btnStart_Click(object sender, EventArgs e) { double TempOpacity; TempOpacity = 1.0; // フォームを透明化(フェードアウト) for (int i = 1; i < Transparence; i++) { TempOpacity -= 0.01; if (TempOpacity < 0) TempOpacity = 1; this.Opacity = TempOpacity; this.Refresh(); } //一時停止 System.Threading.Thread.Sleep(100); // 透明な状態からフォームを表示(フェードイン) for (int i = 1; i < Transparence; i++) { TempOpacity += 0.01; if (TempOpacity < 0) TempOpacity = 1; this.Opacity = TempOpacity; this.Refresh(); } this.Opacity = 1.0; this.Refresh(); } } }
◆他のフォームをフェードイン、フェードアウトする
リスト2では、自分自身のフォームをフェードイン、フェードアウトする例でしたが、リスト3は、Form1のボタンクリックにより、Form2をフェードイン、フェードアウトするサンプルです。
private void button1_Click(object sender, EventArgs e) { // Form2をフェードイン、フェードアウトする Form2 frm2 = new Form2(); frm2.Opacity = 0; frm2.Show(); // Form2を透明な状態からフォームを表示(フェードイン) for(double i=0;i<=1;i +=0.001) frm2.Opacity=i; //一時停止 System.Threading.Thread.Sleep(100); // フォームを透明化(フェードアウト)して閉じる for (double i = 1; i >= 0; i -= 0.001) frm2.Opacity = i; frm2.Close(); }参考
MSDN 透過的な Windows フォームの作成
@IT フェードイン/アウトするウィンドウを作るには
▼ページトップへ