
No.1ベストアンサー
- 回答日時:
フォームがコンテナでいいのでしょうか?
ピクチャーボックスのMouseDownイベントでDragを開始するフラグをセットして DoDragDropメソッドを使います
Form側のDragEnter,DragLeaveやDragDropイベントを記述してピクチャーボックスの移動を実行します
フォームレベルの変数として
Dim bDrag as Boolean, pt as Point
を準備します
ピクチャーボックスのMouseDownイベントで
if bDrag = false then
bflag = true
PictureBox1.DoDragDrop( PicturBox1, DragDropEffects.Copy)
pt = e.Location
Form1.AllowDrop = true
end if
といった具合にして D&Dを開始します
フォームのDragEnterイベントで
if e.Data.GetDataPresent( GetType( PictureBox ) ) then
e.Effect = DragDropEffects.Copy
End if
といった具合に D&Dの属性を設定します
フォームの外へ移動してしまった場合に フラグをリセットするために
DragLeaveイベントを使います
bDrag = False
ドロップされたら その位置にピクチャーボックスを移動する処理は
フォームの DragDropイベントに記述します
dim p as New Point( e.X, e.Y )
' 引数の座標はスクリーン座標でくるので
' Formのクライアント座標に変換します
p = Me.PointToClient( p )
' ピクチャーボックス内の何処をクリックされていたのかを
' ptに記憶してあるのでこれを加算します
p.Offset( -pt.X, -pt.Y )
PictureBox1.Location = p
bDrag = false
といった具合で D&D出来ると思いますよ
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
グラフの交点の求め方(Excel)
-
閉図形の座標の配列が右回りか...
-
Excel VBA で自在に図形を変化...
-
VB6→VS2005アップグレード後
-
始点、終点の二つの座標と半径...
-
測地系の座標変換の方法を教え...
-
多角形の内部かどうか判定する方法
-
2つの座標と角度から交点座標の...
-
碁盤目の経路数
-
直線上にある点の座標の求め方
-
3次元座標上の2直線の交点判...
-
Excel関数で指定範囲内に有るか...
-
y=x^2の座標をプロットするプロ...
-
位置座標からx軸となす角度(ラ...
-
図形が重なりあっているかどうか
-
3次元空間上の2つの座標から...
-
【エクセル・マクロ】座標を回...
-
黒体放射軌跡のxy色度座標への...
-
空間上の四面体の体積
-
C言語 配列で座標
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
グラフの交点の求め方(Excel)
-
マインクラフト(pc版)で座標...
-
3次元空間上の2つの座標から...
-
シーケンサー(PLC?)で制...
-
ダイアログ内コントロールの位...
-
エクセルで回転する座標の出し方
-
ワード上Shapeの位置情報を統一...
-
始点、終点の二つの座標と半径...
-
Excel VBA で自在に図形を変化...
-
C言語で制作するピラミッドアー...
-
C言語 配列で座標
-
閉図形の座標の配列が右回りか...
-
ガウシアンフィルタのCプログラム
-
任意点を中心とした回転
-
c言語でキーボードから2点の座...
-
3D→2Dの座標変換で、スクリーン...
-
求積表の計算方法
-
以下のプログラムは重心を求め...
-
複数の回転する長方形の衝突判定
-
直線上にある点の座標の求め方
おすすめ情報