メニュー

IF文
FOR文
Usingステートメント

ArrayListを利用
IEnumerableを実装
Dictionaryを利用
StringDictionaryを利用
Stack(スタック)
Queue(キュー)
Generic List

小文字⇔大文字の変換
文字列をある文字列で分割

日付関係
現在日付と時刻の取得
明日、来月の日付の取得
月末の日付の取得
日付チェック

ファイル関係
ファイル選択ダイアログ
ファイル読み込み
CSVファイル読み込み
XmlSerializerを利用
GZip圧縮
ファイル情報の取得
フォルダ配下のファイル情報取得

MySQLに接続
ADO.NetでSQLServerに接続

スレッドを作成
ManagementObjectSearcherを利用

ドライブ情報を取得

フォーム関係
チェックボックス
メニューバーの作成
DataGridViewのDataSourceに配置
Timerコントロール
タスクバーにアイコンを表示
プログレスバーを表示
閉じるボタンの処理
透過度の変更
ListBoxにドラック&ドロップ
WebBrowserコントロール
コントロールをマウスで移動
MDIアプリケーション
フォームに線を引く

WebAPI
Webリクエスト送信
Google Geocoding APIを呼び出す
Google Static Maps APIを呼び出す


正規表現
「^」について
「$」について
「+」について
「*」について
「.」について
「|」について
「{n}」について
「{n,m}」について
「[]」について

トップ
E-Mail
xml

ASP.Netのお勉強
ASP.Netで掲示板を作成しよう
Excel マクロ・VBAのお勉強
PHPのお勉強
AJAXのお勉強
Webデザインのお勉強
Javaのお勉強
連想書籍検索
世界の観光地検索
路線図
総合サイトCocoaLiz
ネイルサロン検索
エステサロン検索
アロマサロン検索
アイビューティーサロン検索

コントロールをマウスで移動@VB.Net

フォーム上のコントロールをマウスで移動します。
以下では、テキストボックスをマウスで移動させています。

フォームにテキストボックスを配置します。

マウスの移動処理を記述します。
コントロールのMouseDown、MouseMove、MouseUpをHandleします。

MouseDownの時は、マウスが左クリックかを判断し、
クリックされた位置を記録します。

MouseMoveでは、マウス移動時の処理を記述します。
sender(Control)の位置を設定します。
現在のマウスの位置は、e(MouseEventArgs)により取得できます。
位置を設定して、リフレッシュします。

MouseUpでは、マウス移動完了時の処理を記述します。
MouseMove時の処理と同じです。
コントロールの位置を設定し、リフレッシュします。


Public Class Form1

    '移動前の位置
    Dim startX As Integer
    Dim startY As Integer

    Private Sub TextBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TextBox1.MouseDown

        '左クリックの場合
        If e.Button = MouseButtons.Left Then
            '移動前の位置を記録
            startX = e.X
            startY = e.Y
        End If

    End Sub

    Private Sub TextBox1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TextBox1.MouseMove

        '左クリックの場合
        If e.Button = MouseButtons.Left Then

            'コントロール取得
            Dim control As Control = CType(sender, Control)

            'コントロールの位置を設定
            control.Left = control.Left + e.X - startX
            control.Top = control.Top + e.Y - startY

            'リフレッシュ
            Me.Refresh()

        End If
    End Sub

    Private Sub TextBox1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TextBox1.MouseUp

        '左クリックの場合
        If e.Button = MouseButtons.Left Then

            'コントロール取得
            Dim control As Control = CType(sender, Control)

            'コントロールの位置を設定
            control.Left = control.Left + e.X - startX
            control.Top = control.Top + e.Y - startY

            'リフレッシュ
            Me.Refresh()
        End If
    End Sub
End Class




Copyright (C) 2008-2011 VB.Netのお勉強. All Rights Reserved.