2011-07-11 48 views
3

如果對話框點擊創建新文件夾,只需開始編輯名稱剛創建一個文件夾並點擊確定,確定dialogrezalt返回,但在屬性SelectedPath他會命名文件夾新文件夾,然後有名稱默認FolderBrowserDialog問題

發生這種情況是因爲當我們創建時,只需編輯並單擊確定,此屬性不會更新,方法ShowDialog()返回。

如何解決這個問題?

謝謝!

+0

哪個框架版本? – Reniuz

+0

如果您可以使用剛剛打開的編輯器窗口頂部顯示的格式化函數,那將會很不錯。例如,你可以使用'useThisToTellCode'或'nameOfProperties'。就我個人而言,我很難理解你的帖子,但如果至少格式是推動者,會更容易。 –

+1

固件版本 - 4.0 我在我的應用程序中使用了FolderBrowserDialog。如果我嘗試在FolderBrowserDialog中創建一個「新文件夾」,並在嘗試重命名「新文件夾」並點擊確定(未輸入)後立即在其路徑中選擇了「新文件夾」,而不是我的名字進入重命名。 – Invoker

回答

0

我沒有模仿你所描述的問題,我做了測試:

創建一個新的FormForm1添加button1給它,並在button1.Click處理程序複製此代碼:

private void button1_Click(object sender, EventArgs e) 
{ 
    using (FolderBrowserDialog dialog = new FolderBrowserDialog()) 
    { 
     dialog.ShowNewFolderButton = true; 

     if (dialog.ShowDialog(this) == System.Windows.Forms.DialogResult.OK) 
     { 
      string path = dialog.SelectedPath; 

      Console.WriteLine(path);//will not print new folder if the file renamed. 
     } 
    } 
} 

它的工作如預期的那樣,通過創建一個新文件夾並按兩次輸入。或通過創建一個新文件夾並單擊確定。 您使用第三方UI控件,theams ...

編輯:你說:

是,如果在Windows應用程序,這個樣本來看,它的工作是正確的。但是 我的應用程序是Excel加載項。而且我 寫的FolderBrowserDialog在工作開始後

所以,你使用的是第三方「Excel插件」,當使用第三方提供FolderBrowserDialogOpenFileDialog ..你可能會注意到這取決於一個奇怪的行爲第三方..

您所描述的問題的解決方案是通過禁用ShowNewFolderButton或實現您自己的自定義OpenFileDialog

+0

是的,如果這個示例運行在Windows應用程序,它工作正確。但我的應用程序是Excel加載項。和我開始發佈後寫的FolderBrowserDialog。 – Invoker

+0

我看,原來這個問題有點複雜了。使用第三方「Excel加載項在您的案例中」時,您可能會注意到一種奇怪的行爲。我能想到的解決方案是禁用'ShowNewFolderButton'或構建一個自定義的打開文件對話框... –

1

我有同樣的問題 - 如果您使用FolderBrowseDialog創建了一個新的文件夾,.SelectedPath顯示「xxx \ NewFolder」而不是用戶給出的任何新名稱。

問題走了一次,我明確地給了命令,顯示該對話框之前,

MyFolderBrowser.ShowNewFolderButton =真

+0

爲我工作!謝謝=) – derape