質問
フォームの外にドラッグ&ドロップ
- 投稿日時:2007/01/15 17:28
現在、VB2005においてアプリケーションを開発しています。
よく、リストボックスなどにドラッグ&ドロップしてパスを入力させる
方法がありますが、これの逆?をやりたいと思っております。
つまり、「すでにリストボックスなどに入力されたアイテムをフォームのそと
にドラッグ&ドロップさせた場合にリストボックスからそのアイテムを
さくじょする」という動作です。
フォームの外であることをどのように判断してよいかわからないため、
MouseUp,DragDropのイベントを受け取ることができません。
よろしくお願いします。
回答 (2件)
- 最新から表示
- 回答順に表示
- ベストアンサーのみ表示
No.2ベストアンサー20pt
- 回答日時:2007/01/15 22:52
QueryContinueDragイベントで対応ってことになりそうですよ
フォームレベルにどのアイテムをDragしたのかを保存しておく変数を用意します
Dim nItem as integer
Drag開始時に
nItem = ListBox1.SelectedIndex
といった感じで...
QueryContinueDragイベントで
if e.Action = DragAction.Drop then
Dim pt As Point = ListBox1.PointToClient(ListBox1.MousePosition)
' ListBox1以外でドロップされた場合
' フォーム以外ならListBox1をForm1などに置き換えてください
if ListBox1.ClientRectangle.Contains(pt)=False then
ListBox1.Items.RemoveAt( nItem )
end if
end if
といった具合でしょう ...
この回答へのお礼
上記の方法でできました。
助かりました。ありがとうございます。
No.1ベストアンサー10pt
- 回答日時:2007/01/15 17:39
テキストボックスの内容をドラッグドロップしてコピーするには
Private Sub TextBox1_MouseDown(ByVal sender As Object, _
ByVal e As System.Windows.Forms.MouseEventArgs) _
Handles TextBox1.MouseDown
TextBox1.DoDragDrop(TextBox1.Text, DragDropEffects.Copy)
End Sub
こんな感じになります。
メモ帳などに入力されたテキストがドラッグドロップできます。
- 質問者のみ
- この回答にお礼をつける
このQ&Aを見た人はこんなQ&Aも見ています
関連するQ&A
注目の記事
GoogleChromeで開いているタブをiTunes風にする方法
Google Chromeで、開いているタブをiTunes風にかっこよく表示できるアドオンを紹介します。タブで開いているページすべてを、こんな感じでずらりと立体的に並べて表示できるアドオンです。...
このカテゴリで人気のQ&Aランキング
- 4VBAにて新規ブックへ既存シート...
- 5文字列を含まないという正規表現は?
- 6エクセル(Excel) ワイルドカード *...
- 7TextBoxに半角数字のみの入力しかで...
- 8Functionの戻り値を配列にしたいの...
- 9他言語で言うcontinue文
- 10VBAで別エクセルファイルから指定エ...
- 11DoEvents関数って何?
- 12VB上で実行中の無限ループの止め方
- 13定数配列の書き方
- 14VBA オブジェクトが空かどうか判定する
- 15Excelで400というエラー
- 16実行時エラー9 インデックスが有効...
- 17動的配列が存在(要素が有る)か否か...
- 18Sub ***( ) と Private Sub ***( ) ...
- 19実行時エラー429
- 20Excelマクロを引数付で起動