2

ユーザーがフォルダを選択する以外のことをしないようにしたいのです。彼がファイル/フォルダーを削除したり、名前を変更したり、コンテキストメニューにアクセスしたりすることを許可したくありません。ただし、FolderBrowserDialogは封印されているため、何もオーバーライドできません。

私たちはグーグルで検索し、いくつかの解決策を見つけました:

  • 独自のFolderBrowserDialogを実装する:これを行う時間はありません。最後の手段としてのみ受け入れられます。
  • この男はOpenFileDialogのためにそれをしました、うまくいくかもしれませんが、少しやり過ぎのようです

誰かがこの問題に直面し、これに対する最適な解決策を見つけましたか?.NET4.0と互換性がある必要があります

4

2 に答える 2

1

最善の策は、Shell MegaPackのFolderViewなどのコントロールを使用することです。これは必要に応じてカスタマイズできます。シェルのコンテキストメニュー、名前の変更、ドラッグアンドドロップ、キーボードショートカットなどを切り替えることができます。

免責事項:私たちは上記のFolderViewの開発者です。

于 2011-07-13T09:41:12.740 に答える
0

結局、私たちは独自の制御を実装してそれを解決しました。思ったよりずっと簡単でした。つまり、クラスをSystem.Windows.Forms.Formから継承し、左側にSystem.Windows.Forms.TreeView、右側にSystem.Windows.Forms.ImageListを作成して、現在のフォルダーの内容を表示します。次に、Shell32からSHGetFileInfoとExtractIconExをDllImportして、TreeViewとImageListのアイコンをExplorerのアイコンのように見せます。

于 2011-07-22T12:25:42.677 に答える