2

私の状況は次のとおりです。DockPanelSuiteと画面全体をカバーする多くのコントロールを備えたwin-formsアプリケーションがあります。

WindowsエクスプローラーからアプリケーションへのファイルのD&Dを有効にしたい。D&Dの実装方法は知っていますが、メインの親フォームで有効にすると、アプリケーションのタイトルバーとタスクメニューアイコンのみがD&Dの変更を反映しているようです。

フォーム全体でエクスプローラーからのファイルを受け入れるようにします。アプリケーションに表示される各トップコントロールのファイルのD&Dを有効にする必要がありますか?

これを実装するためのより良い方法があると確信しています、助けてください?

明らかにする

ユーザーがWindowsエクスプローラーからフォームにファイルをドラッグするとき、フォーム内のすべての場所にそのようなイベントのフィードバックを提供してほしいと思います。エクスプローラーからVisualStudioにファイルをドラッグできるのと同じように、どこにドラッグしてもかまいません。アプリケーションはファイルを受け入れます。

4

2 に答える 2

0

私は DockPanel スイートを使用していませんが、Visual Studio フォーム デザイナーでフォーム ドロップを有効にし、適切なハンドラーをフォームに作成すると、追加するほとんどすべて (プロパティは変更されません) で、フォームはドラッグ/ドロップを「見る」ことができます。Panel、SplitContainer、TabControl、ListBox、Button、ListView を含みます。私が試した中で唯一うまくいかなかったのは (このページにたどり着いたときの疑問点)、RichText コントロールでした。これは、ドラッグ アンド ドロップ編集が可能なためだと思います。

私の推測では、これは DockPanel スイート固有の動作です。それについては何も知りませんが、ドック機能を実装するにはドラッグアンドドロップを使用する必要があると思います。フォーム レベルではなく、DockPanel パネル レベルでフックできるイベントがあるかもしれません。

于 2009-11-10T16:21:22.307 に答える
0

DevExpress のコンポーネントを使用して同様の問題が発生しましたが、すべてのユーザー コントロールがAllowDrop = false設定されていることを確認することで問題を解決できました。基本的に、ソリューションで検索を実行し、メイン フォームのみが設定されていることを確認します (デフォルト値であるため、AllowDrop = true影響を受けるすべてのデザイナーからそのような行をすべて削除できます。false

これにより、すべてのドラッグ アンド ドロップ操作を 1 か所で処理できます。

于 2012-09-24T13:07:29.407 に答える