質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Windows Forms

Windows Forms(WinForms)はMicrosoft .NET フレームワークに含まれる視覚的なアプリケーションのプログラミングインターフェイス(API)です。WinFormsは管理されているコードの既存のWindowsのAPIをラップすることで元のMicrosoft Windowsのインターフェイスのエレメントにアクセスすることができます。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

Q&A

0回答

1796閲覧

Windows10環境でのファイルドラッグアンドドロップについて

NewEntry

総合スコア0

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Windows Forms

Windows Forms(WinForms)はMicrosoft .NET フレームワークに含まれる視覚的なアプリケーションのプログラミングインターフェイス(API)です。WinFormsは管理されているコードの既存のWindowsのAPIをラップすることで元のMicrosoft Windowsのインターフェイスのエレメントにアクセスすることができます。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

0グッド

0クリップ

投稿2021/01/19 06:36

いつもお世話になっております。
Windows7環境では使用できていましたファイルドラッグアンドドロップですが
Windows10環境ではできなくなってしまいました。
.Net Frameworkのバージョンを4以降にしてビルドすれば解決するであろうことは分かりましたが
現在のアプリケーションが.Net Framework2.0の時代に作成されたもので最新環境へ移行するまでの
間は使用せざるをえない状況です。

任意のフォルダにあるファイルを、Form上にドラッグアンドドロップして所定のフォルダへコピー
を行うという機能をもつFormですが、ドラッグアンドドロップができなくて困っている状況です。
コードの調整等でドラッグアンドドロップが実現するものでしょうか?
たいへん恐縮ですが、ご存じの方がおられましたらご教示をお願いいたします。

(開発環境)
VisualBasic 2005
WindowsXP SP3
.Net Framework2.0

(実行環境)
Windows10 20H2
.Net Framework3.5有効化

(処理部分コード)

Private Sub frm_File_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load Try Me.AllowDrop = True ' サイズ変更不可の直線ウィンドウに変更する Me.FormBorderStyle = FormBorderStyle.FixedSingle Catch ex As Exception End Try End Sub Private Sub Form1_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles MyBase.DragEnter 'データ形式の確認 If e.Data.GetDataPresent(DataFormats.FileDrop) = False Then Return End If 'ドラッグしているファイル/フォルダの取得 Dim FilePath() As String = _ CType(e.Data.GetData(DataFormats.FileDrop), String()) For idx As Integer = 0 To FilePath.Length - 1 If Not System.IO.File.Exists(FilePath(idx)) Then Return End If Next idx 'ドロップ可能な場合は、エフェクトを変える e.Effect = DragDropEffects.Copy End Sub Private Sub Form1_DragDrop(ByVal sender As Object, ByVal e As DragEventArgs) Handles MyBase.DragDrop 'ドラッグしているファイル/フォルダの取得 Dim FilePath() As String = CType(e.Data.GetData(DataFormats.FileDrop), String()) 'ファイルパスをリッチテキスト(FilePathRichText)に表示する  RichTextBox1.Clear() For idx As Integer = 0 To FilePath.Length - 1 RichTextBox1.AppendText(FilePath(idx) & System.Environment.NewLine) Next idx End Sub

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dodox86

2021/01/19 07:18

> ドラッグアンドドロップができなくて困っている状況 できない、と判断したのはどのような方法でしょうか。「Form1_DragDrop」や「Form1_DragEnter」のイベントハンドラーが呼ばれていない、と言うことですか?
NewEntry

2021/01/19 07:23

Form上にドラッグした場合、マウスカーソルが進入禁止のような形状となります。 Me.AllowDrop = True が効いていないように見えます。 実行環境ではデバッグ実行ができませんので推測ですがForm1_DragEnterが呼ばれて いないのではないかと思います。
NewEntry

2021/01/19 07:26

できないのは実行環境でのみです。開発環境では問題なく実行できます。
退会済みユーザー

退会済みユーザー

2021/01/19 08:44 編集

管理者権限のあるアプリ⇔管理者権限のないアプリ の間のドラッグは出来なかったような記憶があります(うろおぼえ)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問