丸いフォームを作る

.NET (VB)の内容
【注意書き】
●VB.NET を使っているものとします。
●動作環境は、Windows XX を使用しているとします。


.NET でも、丸いフォームを作ることが可能です。

この機能を使えば、簡単に、フォームを
様々な形状で表示させたい場合などに活用できます。


フォームに次の様なコードを記述します


-----------VB.NETコーディングここから-------------------


1.フォームを右クリックして、
    コードの編集を開始して、
    次のコードを記述します。


    Dim Form_X As Integer
    Dim Form_Y As Integer
    Dim objBtn As Button

    Private Sub Form1_Load(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles MyBase.Load


        Dim GPath As New System.Drawing.Drawing2D.GraphicsPath

        objBtn = New Button
        Me.Controls.Add(objBtn)

        objBtn.Text = "閉じる"
        objBtn.Top = Me.Height * 0.5 - objBtn.Height * 0.5
        objBtn.Left = Me.Width * 0.5 - objBtn.Width * 0.5


        AddHandler objBtn.Click, AddressOf objBtn_Name_Click


        Me.FormBorderStyle = FormBorderStyle.None
        GPath.AddEllipse(New Rectangle(0, 0, _
        Me.Width, Me.Height))

        Me.Region = New Region(GPath)

    End Sub


    Private Sub Form1_MouseMove(ByVal sender As Object, _
        ByVal e As System.Windows.Forms.MouseEventArgs) _
        Handles MyBase.MouseMove

        'マウス左ボタンのプレス状態
        If e.Button = MouseButtons.Left Then
            With Screen.PrimaryScreen.Bounds
                Me.Left = Me.Left + e.X - Form_X
                Me.Top = Me.Top + e.Y - Form_Y
            End With
        End If
    End Sub

    Private Sub Form1_MouseDown(ByVal sender As Object, _
        ByVal e As System.Windows.Forms.MouseEventArgs) _
        Handles MyBase.MouseDown

        'マウスの位置を保持
        Form_X = e.X
        Form_Y = e.Y
    End Sub

    Private Sub objBtn_Name_Click(ByVal sender As Object, _
    ByVal e As EventArgs)

        'このアプリケーションを終了させる
        Me.Close()

    End Sub


2.ビルドして実行します。

3.フォームの形状が丸い形である事を確認できます。

4.フォームをマウスでドラッグして移動します。

5.タスクバー以外でもフォームをマウスでドラッグして移動
  させる事ができる事を確認できます。

-----------VB.NETコーディングここまで-------------------

本サンプルでは、モジュール変数 Form_X ,Form_Yに
フォームの座標を記録しています。

マウスの左ボタンで、ドラッグできる状態としております。

System.Drawing.Drawing2D.GraphicsPath で、
円を描き、Region で、フォームの形状を変えています。

閉じるボタンをフォームの中央に表示しています。




 

http://anetm.com/dev/d.cgi?SC=DTDTL&o=l3e

Copyright(c)2001-2006 Ai Net Makoto 記事・情報の無断転載を禁止します。