如果對話框點擊創建新文件夾,只需開始編輯名稱剛創建一個文件夾並點擊確定,確定dialogrezalt返回,但在屬性SelectedPath
他會命名文件夾新文件夾,然後有名稱默認FolderBrowserDialog問題
發生這種情況是因爲當我們創建時,只需編輯並單擊確定,此屬性不會更新,方法ShowDialog()
返回。
如何解決這個問題?
謝謝!
如果對話框點擊創建新文件夾,只需開始編輯名稱剛創建一個文件夾並點擊確定,確定dialogrezalt返回,但在屬性SelectedPath
他會命名文件夾新文件夾,然後有名稱默認FolderBrowserDialog問題
發生這種情況是因爲當我們創建時,只需編輯並單擊確定,此屬性不會更新,方法ShowDialog()
返回。
如何解決這個問題?
謝謝!
我沒有模仿你所描述的問題,我做了測試:
創建一個新的Form
Form1
添加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插件」,當使用第三方提供FolderBrowserDialog
或OpenFileDialog
..你可能會注意到這取決於一個奇怪的行爲第三方..
您所描述的問題的解決方案是通過禁用ShowNewFolderButton
或實現您自己的自定義OpenFileDialog
。
是的,如果這個示例運行在Windows應用程序,它工作正確。但我的應用程序是Excel加載項。和我開始發佈後寫的FolderBrowserDialog。 – Invoker
我看,原來這個問題有點複雜了。使用第三方「Excel加載項在您的案例中」時,您可能會注意到一種奇怪的行爲。我能想到的解決方案是禁用'ShowNewFolderButton'或構建一個自定義的打開文件對話框... –
我有同樣的問題 - 如果您使用FolderBrowseDialog創建了一個新的文件夾,.SelectedPath顯示「xxx \ NewFolder」而不是用戶給出的任何新名稱。
問題走了一次,我明確地給了命令,顯示該對話框之前,
MyFolderBrowser.ShowNewFolderButton =真
爲我工作!謝謝=) – derape
哪個框架版本? – Reniuz
如果您可以使用剛剛打開的編輯器窗口頂部顯示的格式化函數,那將會很不錯。例如,你可以使用'useThisToTellCode'或'nameOfProperties'。就我個人而言,我很難理解你的帖子,但如果至少格式是推動者,會更容易。 –
固件版本 - 4.0 我在我的應用程序中使用了FolderBrowserDialog。如果我嘗試在FolderBrowserDialog中創建一個「新文件夾」,並在嘗試重命名「新文件夾」並點擊確定(未輸入)後立即在其路徑中選擇了「新文件夾」,而不是我的名字進入重命名。 – Invoker