C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: FormにDragDropする方法


(過去ログ 95 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■56208 / inTopicNo.1)  FormにDragDropする方法
  
□投稿者/ kei (3回)-(2011/01/04(Tue) 23:26:38)

分類:[VB.NET/VB2005 以降] 

フォームにテキストファイルをドラッグ&ドロップすると、テキストボックスにアドレスが入るようにしたいのですが
やり方がわかりませんでした。

テキストボックスへドラッグ&ドロップするのはできました。
これをFormにしようとしたのですがうまくいきませんでした。

http://dobon.net/vb/dotnet/control/droppedfile.html
上記のサイトを参照して、これを



Private Sub TextBox1_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TextBox1.DragEnter

'ドラッグされている内容が文字列型に変換可能な場合
If e.Data.GetDataPresent(DataFormats.FileDrop) Then
'コピーを許可するようにドラッグ元に通知する
e.Effect = DragDropEffects.Copy
End If

End Sub

Private Sub TextBox1_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TextBox1.DragDrop

'ドロップされた内容を表示する
TextBox1.Text = e.Data.GetData(DataFormats.FileDrop)(0)

End Sub


このプログラムの、"TextBox1"をForm1に変更したのですが、バグで動作しませんでした。
Formにドラッグ&ドロップして動作するようにするにはどうしたらよういのでしょうか?
引用返信 編集キー/
■56209 / inTopicNo.2)  Re[1]: FormにDragDropする方法
□投稿者/ 素人 (1回)-(2011/01/04(Tue) 23:42:57)
単純にイベント ハンドラに登録されていないだけでは?

ソースの編集画面で"TextBox1"を"Form1"に変更するだけではイベントは起こりませんよ。
引用返信 編集キー/
■56216 / inTopicNo.3)  Re[1]: FormにDragDropする方法
□投稿者/ Azulean (669回)-(2011/01/05(Wed) 00:33:17)
No56208 (kei さん) に返信
> このプログラムの、"TextBox1"をForm1に変更したのですが、バグで動作しませんでした。
> Formにドラッグ&ドロップして動作するようにするにはどうしたらよういのでしょうか?

バグで動作しないってどういう状態ですか?
第三者にもわかるようにきちんと説明してください。

たとえば、ドロップしようにも禁止マークのままなのであれば、AllowDrop プロパティを True に変更していない可能性もあります。
また、Handles より後ろの部分を書き換え忘れている可能性も考えられます。


No56209 (素人 さん) に返信
> 単純にイベント ハンドラに登録されていないだけでは?
>
> ソースの編集画面で"TextBox1"を"Form1"に変更するだけではイベントは起こりませんよ。

Visual Basic の場合 Handles キーワードの後に結びつける先のイベントを書くことで、イベントが起きます。
参考までに。
http://msdn.microsoft.com/ja-jp/library/6k46st1y.aspx
引用返信 編集キー/
■56220 / inTopicNo.4)  Re[1]: FormにDragDropする方法
□投稿者/ よねKEN (653回)-(2011/01/05(Wed) 10:17:53)
No56208 (kei さん) に返信
> このプログラムの、"TextBox1"をForm1に変更したのですが、バグで動作しませんでした。
> Formにドラッグ&ドロップして動作するようにするにはどうしたらよういのでしょうか?

説明通りなら
Handles TextBox1.DragDrop

Handles Form1.DragDrop
という風に変更されていると思われるのですが、これだとビルドもできないですよね。
フォーム自身で自分のイベントを処理するときのHandles句では、MyBaseやMeを使います。

Handles MyBase.DragDrop

といった感じです。

それでもうまく行かないなら、No56216 のAzuleanさんのアドバイスにあるように
Form1のAllowDropプロパティをTrueに設定を行っているか確認しましょう。







引用返信 編集キー/
■56569 / inTopicNo.5)  Re[2]: FormにDragDropする方法
□投稿者/ kei (4回)-(2011/01/20(Thu) 09:21:54)
返信が遅くなり大変失礼いたしました。

よねKENさんの指摘通りMeにして解決いたしました。
ご指摘いただきありがとうございました。



解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -