2011-07-05 47 views
2

我們想阻止用戶做任何東西除了選擇一個文件夾。我們不希望允許他刪除文件/文件夾,重命名它們,訪問上下文菜單等。但是我們無法覆蓋任何內容,因爲FolderBrowserDialog是密封的。受限制的FolderBrowserDialog,推薦的解決方案

我們用Google搜索了一圈,發現了一些解決方案:

  • 實現我們自己的FolderBrowserDialog:沒有時間這一點,唯一可以接受作爲最後手段
  • This guy這麼做是爲了一個OpenFileDialog,可能會奏效,但似乎有點矯枉過正

任何人都面臨這個問題,並找到一個最佳的解決方案呢?它必須是.NET 4.0兼容

+1

這是一個奇怪的限制。你爲什麼想這樣做?如果用戶擁有權限,無論如何他都可以從資源管理器中完成。 – svick

+1

限制這個的意義何在?用戶只需切換到另一個程序,如Explorer。使用正常的Windows安全策略強制用戶訪問權限,其他任何事情都是安全漏洞。 –

+1

也許這是一種無法訪問資源管理器的環境信息亭類型。 –

回答

0

最後,我們解決了它實現我們自己的控制。這比我們想象的要簡單得多。簡而言之,我們只是從System.Windows.Forms.Form繼承了一個類,左邊是System.Windows.Forms.TreeView,右邊是System.Windows.Forms.ImageList,用於顯示當前文件夾的內容。然後,我們從Shell32中導入SHGetFileInfo和ExtractIconEx,以使TreeView和ImageList的圖標看起來像Explorer的,瞧!

1

您最好的選擇是使用控制像FolderView從殼牌超值大餐 - 這是你想要的方式定製的 - 你可以把外殼上下文菜單,重命名,拖放,鍵盤快捷方式等,

免責聲明:我們是上述FolderView的開發人員。

+0

對不起,我們需要一個免費的解決方案 –

相關問題