DOBON.NET プログラミング道: .NET Framework, VB.NET, C#, Visual Basic, Visual Studio, インストーラ, ...

フォームを半透明にする

フォームの透明度をフォームのOpacityプロパティで指定できます。指定できる値は、0.0(完全に透明)〜1.0(完全に不透明)の間です。ただし、透過的なフォームはWindows2000以降でだけサポートされているため、Windows98などでは無視されます。

次の例ではButton1をクリックすることにより、フォームのウィンドウ全体が徐々に消えて、また徐々に現れます。

VB.NET
コードを隠すコードを選択
Private Sub Button1_Click(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles Button1.Click
    '徐々に消えて、また現れる
    Dim i As Integer

    '徐々に消える
    For i = 10 To 0 Step -1
        'フォームの不透明度を変更する
        Me.Opacity = 0.1 * i
        '一時停止
        System.Threading.Thread.Sleep(100)
    Next

    '徐々に現れる
    For i = 0 To 10
        'フォームの不透明度を変更する
        Me.Opacity = 0.1 * i
        '一時停止
        System.Threading.Thread.Sleep(100)
    Next
End Sub
C#
コードを隠すコードを選択
private void Button1_Click(object sender, System.EventArgs e)
{
    //徐々に消えて、また現れる

    //徐々に消える
    for (int i = 10; i >= 0; i--)
    {
        //フォームの不透明度を変更する
        this.Opacity = 0.1 * i;
        //一時停止
        System.Threading.Thread.Sleep(100);
    }

    //徐々に現れる
    for (int i = 0; i <= 10; i++)
    {
        //フォームの不透明度を変更する
        this.Opacity = 0.1 * i;
        //一時停止
        System.Threading.Thread.Sleep(100);
    }
}
補足:フォームをOpacityプロパティで半透明にすると、はじめの一瞬、フォームが黒くなることがあります。これに対する有効な対処法は現在見つかっていません。

注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。

  • .NET Tipsをご利用いただく際は、注意事項をお守りください。