The problem is reproducible with the Demo application >> File Dialogs >> First Look example:
When opening the Folder Dialog (all in default, no changes needed) and then we click between "My PC" and "C:" back and forth quite rapidly, eventually the dialog freezes and after a while throws an unhandled exception. It is important to click between both quite fast for the issue to show.
Two different types of errors may occur:
Currently, the dialogs provide a way to restore the last open directory. The opened directory path will be stored in a private string field of the RadOpenFolderDialog instance. However, in other this to work, the dialogs require the following steps:
We could expose a mechanism to cache the last open directory outside of the dialogs, thus allowing you to restore the directory even when the application is closed.
Use the Demo application >> File Dialogs >> First Look example. I have tested typing "\\DYORDANOLAP" and hitting Enter and it seems to navigate to the folder only after pressing Enter a second time:
Expected: In the Windows File Explorer, the user is navigated to the respective folder after the first time the user hits Enter.
I use the RadOpenFileDialog with the MultiSelect property set to True. My test folder contains 105 files with sizes about 1 to 2 kb and all the same extension. If I select multiple files with <ctrl>+<mouse left> the selection behaves as expected. If I select multiple files with <shift>+<mouse left> I have to wait al long time. Unselecting the file by clicking on an unselected entry is also very slow. If I try to select all files with <ctrl>+<A> the dialog remains busy and does not respond anymore.
My code for testing is as simple as this:
private static void TestFileOpenDialog()
{
RadOpenFileDialog dlg = new RadOpenFileDialog();
dlg.InitialDirectory = @"path to files"; // 105 files with sizes from 1 to 2 kb
dlg.Filter = "my files (*.mal)|.mal";
dlg.FilterIndex = 0;
dlg.MultiSelect = true;
DialogResult result = dlg.ShowDialog();
}
1. Add a RadPopupEditor on the form and put two RadButtons in its container.
2. Add a RadOpenFileDialog and a MS OpenFileDialog.
3. Use the following code snippet:
public RadForm1()
{
InitializeComponent();
}
private void radButton1_Click(object sender, EventArgs e)
{
this.radOpenFileDialog1.InitialDirectory = @"C:\";
this.radOpenFileDialog1.FileName = string.Empty;
if (this.radOpenFileDialog1.ShowDialog() == DialogResult.OK)
{
string fileName = this.radOpenFileDialog1.FileName;
if (this.radOpenFileDialog1.SafeFileNames.ToList().Count() > 0)
{
fileName = this.radOpenFileDialog1.SafeFileNames.First();
}
this.Text = fileName;
}
}
private void radButton2_Click(object sender, EventArgs e)
{
this.openFileDialog1.InitialDirectory = @"C:\";
this.openFileDialog1.FileName = string.Empty;
if (this.openFileDialog1.ShowDialog() == DialogResult.OK)
{
string fileName = this.radOpenFileDialog1.FileName;
if (this.openFileDialog1.SafeFileNames.ToList().Count() > 0)
{
fileName = this.openFileDialog1.SafeFileNames.First();
}
this.Text = fileName;
}
}
Expected: MS OpenFileDialog is top most:
Actual: RadOpenFileDialog is beneath the popup container:
Workaround:
this.radOpenFileDialog1.OpenFileDialogForm.TopMost = true;
The current problem I'm facing is that the filters are not compliant as MS-FileDialog does, let me make it clear, when the DEV set the filter, for example, "JGRAM|*.jgram", if I try to select another file, with another extension, the dialog does not filter the files, when typing and pressing ENTER, see:
Please refer to the attached two gif file illustrating the default behavior of the MS OpenFileDialog and the RadOpenFileDialog.
Please refer to the attached gif file comparing RadOpenFileDialog and the standard MS OpenFileDialog.
RadOpenFileDialog is expected to tokenize the entered file path. The Open button is disabled until you select a file from the list view.
I'm not sure what happened here but this dialog box has gone from extremely slow to unusable.
Sure, I'm on a network but that shouldn't matter. My local box is the initial folder and it's a normal, regular, business level working machine with a few hundred files in some folders and more/less in others. NO FOLDERS with shocking numbers of files... Yet this takes 2-4 MINUTES to load:
If Me.dialogOpenFolder.ShowDialog() = DialogResult.OK Then
FolderName = Me.dialogOpenFolder.FileName
Else
FolderName = ""
End If
The only other time this dialog is references is in FormLoad and here's that reference:
dialogOpenFolder.OpenFolderDialogForm.ThemeName = Windows8Theme1.ThemeName
I'd love to continue using this control since visually its light-years ahead of the built-in Folder Select dialog box...but as stated its unusable.
Is there *ANYTHING* I can do to speed this up? It feels like its going out there and collecting all folder data from my entire network (which is massive) - can this be turned off or WISIWIG?
Any help would be lovely :)
Dear sirs,
i am using the RadFileExplorer control within my Winforms application. I experience exceptions with the stock control from within your demo application using this control.
See attached animated GIF
Steps to reproduce:
1) open a Windows file explorer and browse to any folder like E:\TEMP
2) Create two empty folders in the target destination of E:\TEMP
3) open the winforms demo app and open the "File Dialogs" screen. Open the RadFileExplorer sample
4) browse to the same location as your File Explorer (like E:\TEMP) where you created the new folders
5) from within the RadFileExplorer control, delete one of the folder. all works well
6) In the Windows File Explorer, create a new folder. It will appear within the RadFileExplorer display.
7) close the RadFileExplorer demo screen, reopen the RadFileExplorer demo screen
8) browse to the same location as before (E:\TEMP)
9) From within either the RadFileExplorer control OR the Windows File Explorer delete the new folder created in set 6 above
** Exception: "Changing Children Collection of an already disposed element"
Hello,
when the end user paste a path from memory into FileDialog, textbox, and press enter the dialog box not navigate to the folder like Microsoft Dialogbox do.
You are replacing the Microsoft component so it must behavior just like the original.
Best,
jeff
Steps to reproduce:
1. Open a file dialog
2. In the File name field start typing "k:\ClientFiles"
3. The files are not suggested
Steps to reproduce:
1. Open RadOpenFileDialog.
2. Select items.
3. Remove an item from the "File name" autocomplete box.
To workaround:
RadAutoCompleteBox acb = openFileDialog.OpenFileDialogForm.Controls.Find("selectedFilesAutoCompleteBox", true)[0] as RadAutoCompleteBox;
acb.Items.CollectionChanged += this.Items_CollectionChanged;
private void Items_CollectionChanged(object sender, Telerik.WinControls.Data.NotifyCollectionChangedEventArgs e)
{
if (e.Action == Telerik.WinControls.Data.NotifyCollectionChangedAction.Remove)
{
ExplorerControl explorerControl = this.openFileDialog.OpenFileDialogForm.ExplorerControl;
List<ListViewDataItem> selecteditems = explorerControl.FileBrowserListView.SelectedItems.ToList();
foreach (RadTokenizedTextItem varItem in e.NewItems)
{
string strText = varItem.Text.Trim();
foreach (ListViewDataItem item in explorerControl.FileBrowserListView.SelectedItems)
{
if (item.Text == strText)
{
selecteditems.Remove(item);
}
}
}
explorerControl.FileBrowserListView.SelectedItems.Clear();
explorerControl.FileBrowserListView.Select(selecteditems.ToArray());
}
}
The achieved result is demonstrated in the attached gif file.