0

私の妻は、Windows XP-Pro デスクトップにアイコンが多すぎると不満を漏らしています。

開きたいアプリケーションのアイコンにファイルをすばやくドロップできるのが好きです。また、頻繁に使用される深くネストされたフォルダーを開くには、そこに移動するのではなく、リンクをたどるのが好きです。したがって、デスクトップには 100 個以上のアイコンがあります。

(頻繁に切り替えたり、同じ電子メールにアクセスする必要があるため、同じユーザー アカウントを共有しています。別のアカウントを使用することは解決策ではありません。)

Windows デスクトップと同様の機能を持つプログラムを作成したいと考えています。次に、そのウィンドウを開いてドラッグ アンド ドロップ作業を行うことができましたが、最小化すると、妻のためにデスクトップ ディスプレイがまばらに表示されたままになります。追加のボーナスとして、デスクトップよりも優れたアイコンの編成を実装できました。

これは、デスクトップではアイコンの配置を行うことができるという重要な例外を除いて、Explorer ウィンドウが行うことと似ています。(たとえば、左側にプログラム アイコン (最もよく使用されるアイコンが一番上)、フォルダーが一番上、データ ファイルが右側に表示されます。)

  1. Windows フォーム (またはフォーム上の適切なコントロール) に表示するアイコンを取得するにはどうすればよいですか? (たとえば、メモ帳へのリンクやファイル フォルダーへのリンクをドロップするとします。)

  2. アイコンがダブルクリックされた場合にデスクトップと同じアクションを実行するにはどうすればよいですか? (たとえば、フォルダへのリンクがダブルクリックされた場合)。

  3. アイコンに何かをドラッグした場合に、デスクトップと同じアクションを実行するにはどうすればよいですか? (たとえば、テキスト ファイルをメモ帳アイコンにドラッグします。)

プログラミングには Visual Studio と C#.NET を使用しています。

基本的なドラッグアンドドロップの方法を知っています。

わからない:
A. フォームでアイコンを表示するためにどのコントロールを使用する
か B. アイコンを見つける方法
C. さまざまな状況下でデスクトップによって構築されるコマンド (機能をエミュレートできるようにするため)

これが複数の部分からなる質問であることをお詫びしますが、全体の話をもう一度説明せずに分解するのは困難でした.

4

2 に答える 2

0

これは大きな問題ですが、物事を正しい方向に進めるための簡単な考えをお伝えします。WinForms は、これを実現するために必要な機能を公開しています。必要な方法ですべてを配線するだけです。

調べたい重要な部分は、WinForms で非常によくサポートされているドラッグ/ドロップです。アイコンを ImageBoxes として実装する場合、プログラム アイコンに AllowDrop プロパティを設定してから、DragDrop イベントを処理し、System.Diagnostics.Process() のオーバーロードを呼び出して、ドロップされたファイル名を引数としてアプリケーションを起動できます。

アイコンを見つける限り、ほとんどのプログラムには、アイコンがリソースとして .EXE ファイルまたは関連する .DLL に含まれています。

質問 C に関して、基本的な質問は、デスクトップのどのような動作をプログラムに含めたいかということです。Explorer.exe は大規模なアプリケーションであり、ユーザーが必要とする機能、実装する必要がある機能、または実装したい機能をはるかに超えています。必要な機能を決定したら、フォーム コントロールとイメージ ボックス コントロールの IntelliSense イベント リストを試してみます。Windows コモン コントロールでは多くの動作が無料で提供されており、適切なイベントを処理することで、追加の動作を簡単に追加できることがわかります。

于 2009-10-04T21:27:52.710 に答える
0

仮想デスクトップを使用しないのはなぜですか??

http://virtuawin.sourceforge.net/ を試してください

多くのコーディングをスキップします。

彼らのページから: 「VirtuaWin は、Windows オペレーティング システム (Win9x/ME/NT/Win2K/XP/Win2003/Vista) 用の仮想デスクトップ マネージャーです。仮想デスクトップ マネージャーを使用すると、複数の仮想デスクトップ (「ワークスペース」とも呼ばれる) でアプリケーションを整理できます。仮想デスクトップは Unix/Linux では非常に一般的であり、一度使用に慣れると、生産的なワークフローに不可欠な要素になります。」

于 2009-10-04T21:31:18.837 に答える