2010-05-07 14 views
5

Napisałem niestandardowe okno dialogowe (formularz), którego mogę użyć w programie C#, który zachowuje się podobnie do polecenia menu "Plik - Otwórz" i wyświetla okno, w którym użytkownik może wybrać plik lub katalog.Jak używać OpenFileDialog w języku C# w Visual Studio 2010

Mam pytanie, które mam. Ma on "Mój komputer" jako źródło. Jak mogę go mieć, aby wyszukiwał w sieci? Jeśli plik lub katalog znajduje się w sieci.

A jeszcze lepiej, w Visual Studio 2010, jest jakiś konserwowy FileOpenDialog, którego mogę użyć od razu?

Próbowałem wywołaniem OpenFileDialog jak opisano w przykładzie kodu w http://msdn.microsoft.com/en-us/library/system.windows.forms.openfiledialog.aspx ale kompilator nie lubią DialogResult.OK użyte w tym wierszu kodu:

if(openFileDialog1.ShowDialog() == DialogResult.OK) 

Kompilator mówi:

Błąd 1 "System.Nullable" nie zawiera definicji "OK" i nie ma metody rozszerzenia "OK" akceptując pierwszy argument typu "System.Nullable" może być znaleziony (czy brakuje dyrektywy użycia lub n odniesienie do zestawu?)

Próbowałem używać przestrzeni nazw Microsoft.Win32 zamiast System.Windows.Forms i żadne z nich nie działało. Oboje wytworzyli ten błąd.

Odpowiedz

9

wygląda próbujesz użyć WinForms (System.Windows.Forms) dialogowych.
Oto MSDN page for WPF dialog boxes z przestrzeni nazw MSDN page for WPF dialog boxes.

Fragment:

Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog(); 
dlg.FileName = "Document"; // Default file name 
dlg.DefaultExt = ".txt"; // Default file extension 
dlg.Filter = "Text documents (.txt)|*.txt"; // Filter files by extension 

// Show open file dialog box 
bool? result = dlg.ShowDialog(); 
2

EDYCJA: brak tagu WPF. Mój błąd. Co powiedział Henk Holterman.

Czy dodałeś przestrzeń nazw, która według przykładu mówi: System.IO?

może się mylę, ale to brzmi jak ty stworzyliśmy zmienną o nazwie DialogResult który jest typu System.Nullable

Powiązane problemy