6.画像の形(自由な)のフォームを作成(34_Frm_06) (旧、SampleNo.089) |
1.画像の形(自由な)のフォームを作成 2. 3. 4. 5. 6. |
下記プログラムコードに関する補足・注意事項 動作確認:Windows 8.1 (Windows 7) / VB2013 (VB2010) / Framework 4.5.1 / 対象の CPU:x86 Option :[Compare Text] [Explicit On] [Infer On] [Strict On] Imports :追加なし 参照設定:追加なし その他 :画像ファイルは各自準備願います。また、その画像に合わせてサイズ等を変更して下さい。 : このサンプル等の内容を無断で転載、掲載、配布する事はお断りします。(私の修正・改訂・削除等が及ばなくなるので) 必要ならリンクをはるようにして下さい。(引用の場合は引用元のリンクを明記して下さい) |
1.画像の形(自由な)のフォームを作成 |
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load '------- フォームを境界線無しに設定して透明に ---------- Dim FilePath As String = "..\..\..\data_pic\GARA.bmp" Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None 'ビットマップの透明色を指定(ブルー) TransparencyKey = Color.Blue '画像のサイズに Form のサイズを合わせる Me.Size = New Size(Image.FromFile(FilePath).Width, Image.FromFile(FilePath).Height) 'Form の背景(Form の形)となる画像を指定 Me.BackgroundImage = Image.FromFile(FilePath) '------ ボタンを円形に切り取る処理 ---------- Button1.SetBounds(Button1.Left, Button1.Top, 60, 60, BoundsSpecified.Size) Dim myPath As New System.Drawing.Drawing2D.GraphicsPath '現在のパスに円を追加 myPath.AddEllipse(New Rectangle(9, 10, 35, 35)) Button1.Region = New Region(myPath) End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Me.Close() End Sub 'おまけで、マウスのドラッグでフォームを移動できるように設定 Private Form1NewSize As Size '移動位置の保存用変数 Private Sub Form1_MouseDown(sender As Object, e As MouseEventArgs) Handles Me.MouseDown If e.Button = System.Windows.Forms.MouseButtons.Left Then 'ドラッグ開始時点の位置を取得 Form1NewSize = New Size(e.X, e.Y) End If End Sub Private Sub Form1_MouseMove(sender As Object, e As MouseEventArgs) Handles Me.MouseMove If e.Button = System.Windows.Forms.MouseButtons.Left Then 'ドラッグ中の位置情報を取得して、その位置に表示 Me.Location = Point.op_Subtraction(System.Windows.Forms.Cursor.Position, Form1NewSize) End If End Sub 図1.上記実行結果 |
2. |
3. |
4. |
5. |
6. |
検索キーワード及びサンプルコードの別名(機能名) |
図形の形のフォーム 自由な形のForm 変形のフォーム 色々な形のフォーム Form マウスのドラッグでFormを移動 Mouse のドラッグでフォームを移動 |