FileDialog Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Kullanıcının dosya seçebileceği bir iletişim kutusu görüntüler.
public ref class FileDialog abstract : System::Windows::Forms::CommonDialog
public abstract class FileDialog : System.Windows.Forms.CommonDialog
type FileDialog = class
inherit CommonDialog
Public MustInherit Class FileDialog
Inherits CommonDialog
- Devralma
- Türetilmiş
Örnekler
Aşağıdaki kod örneği uygulamasını kullanır OpenFileDialogFileDialog ve oluşturma, özellikleri ayarlama ve iletişim kutusunu gösterme adımlarını gösterir. Örnek, iletişim kutusunu görüntülemek ve döndürmek DialogResultiçin yöntemini kullanırShowDialog. Örnekte, üzerine yerleştirilmiş bir Button form ve System.IO buna eklenen ad alanı gerekir.
private:
void button1_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
Stream^ myStream;
OpenFileDialog^ openFileDialog1 = gcnew OpenFileDialog;
openFileDialog1->InitialDirectory = "c:\\";
openFileDialog1->Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
openFileDialog1->FilterIndex = 2;
openFileDialog1->RestoreDirectory = true;
if ( openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK )
{
if ( (myStream = openFileDialog1->OpenFile()) != nullptr )
{
// Insert code to read the stream here.
myStream->Close();
}
}
}
var fileContent = string.Empty;
var filePath = string.Empty;
using (OpenFileDialog openFileDialog = new OpenFileDialog())
{
openFileDialog.InitialDirectory = "c:\\";
openFileDialog.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
openFileDialog.FilterIndex = 2;
openFileDialog.RestoreDirectory = true;
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
//Get the path of specified file
filePath = openFileDialog.FileName;
//Read the contents of the file into a stream
var fileStream = openFileDialog.OpenFile();
using (StreamReader reader = new StreamReader(fileStream))
{
fileContent = reader.ReadToEnd();
}
}
}
MessageBox.Show(fileContent, "File Content at path: " + filePath, MessageBoxButtons.OK);
Private Sub button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim myStream As Stream = Nothing
Dim openFileDialog1 As New OpenFileDialog()
openFileDialog1.InitialDirectory = "c:\"
openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"
openFileDialog1.FilterIndex = 2
openFileDialog1.RestoreDirectory = True
If openFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
Try
myStream = openFileDialog1.OpenFile()
If (myStream IsNot Nothing) Then
' Insert code to read the stream here.
End If
Catch Ex As Exception
MessageBox.Show("Cannot read file from disk. Original error: " & Ex.Message)
Finally
' Check this again, since we need to make sure we didn't throw an exception on open.
If (myStream IsNot Nothing) Then
myStream.Close()
End If
End Try
End If
End Sub
Açıklamalar
FileDialogve SaveFileDialog sınıfları için OpenFileDialog ortak davranış içeren soyut bir sınıftır. Doğrudan kullanılması amaçlanmamıştır, ancak bu iki sınıf için ortak davranış içerir. örneğini FileDialogoluşturamazsınız. Sınıfı genel olarak bildirilir, ancak iç soyut yöntemleri içerdiğinden, bu sınıftan devralamazsınız. Bir dosyayı seçmek veya kaydetmek üzere bir iletişim kutusu oluşturmak için veya SaveFileDialogkullanınOpenFileDialog.
FileDialog kalıcı bir iletişim kutusudur; bu nedenle, gösterildiğinde, kullanıcı bir dosya seçene kadar uygulamanın geri kalanını engeller. bir iletişim kutusu modlu olarak görüntülendiğinde, iletişim kutusundaki nesneler dışında hiçbir giriş (klavye veya fare tıklaması) gerçekleşemez. Çağıran programa giriş yapılabilmesi için programın iletişim kutusunu gizlemesi veya kapatması gerekir (genellikle bazı kullanıcı eylemlerine yanıt olarak).
Dikkat
ve gibi OpenFileDialogSaveFileDialogtüretilmiş FileDialogsınıfları kullandığınızda, mutlak yollar içeren dize değişmez değerlerini kullanmaktan kaçının. Bunun yerine, aşağıdaki tabloda açıklanan tekniklerden birini veya daha fazlasını kullanarak yolu dinamik olarak alın.
Kullanıcıların dosya yerine klasör seçmesini sağlamak istiyorsanız kullanın FolderBrowserDialog.
Uygulamanın türüne, uygulamayla ilişkili verilerin nasıl depolandığına ve dosya sistemine erişme nedenlerine bağlı olarak, dizin yolu oluşturmanın birçok yolu vardır. Aşağıdaki tabloda, yolları dinamik olarak oluşturmaya yönelik teknikler gösterilmektedir.
Yol veya program kategorisi | Kullanılacak sınıf ve üyeler |
---|---|
Program Dosyaları, MyDocuments, Masaüstü vb. gibi standart Windows yolları | System.Environment sınıfı, gibi statik yöntemleri SystemDirectoryaracılığıyla veya numaralandırılmış değerlerden birini Environment.SpecialFolder kullanarak yöntemi aracılığıyla GetFolderPath bunlar için en eksiksiz kaynaktır. |
Geçerli uygulamayla ilgili yollar | sınıfı, Application , ExecutablePath, LocalUserAppDataPathve CommonAppDataPathgibi StartupPathbelirli yolları almak için statik üyelere sahiptir. GetTempPath yöntemiSystem.IO.Path, geçici klasörün yolunu döndürür. GetCurrentDirectory sınıfının yöntemi System.IO.Directory uygulamanın geçerli yürütme dizinini döndürür. RootDirectory sınıfının özelliği DriveInfo belirtilen sürücünün kök dizinini temsil eder. |
Uygulama ayarları olarak depolanan yollar | öğesinden türetilen sarmalayıcı sınıfının ilgili uygulama ayarları özelliğine erişin ApplicationSettingsBase. Daha fazla bilgi için bkz. Windows Forms için Uygulama Ayarları. |
Kayıt defteri depolama | Bazı uygulamalar dizin bilgilerini kayıt defterinde depolar. sınıfıApplication, bir RegistryKey değere CommonAppDataPath çözümleyen ve LocalUserAppDataPath özelliklerine sahiptir. |
ClickOnce uygulamaları | ClickOnce uygulamaları için, ClickOnce veri dizinine bir işaretçi döndüren gibi UserAppDataPathsınıf üyelerini kullanınApplication. Daha fazla bilgi için bkz . ClickOnce Uygulamalarında Yerel ve Uzak Verilere Erişme. |
Uluslararası uygulamalar | Uluslararası uygulamalar için, sınıfını kullanarak System.Resources.ResourceReader uygulamanızdaki bir dize kaynağından göreli yol bölümünü alın. Genelleştirme ve yerelleştirme hakkında daha fazla bilgi için Genelleştirme ve Yerelleştirme konusuna bakın. |
Tam bir yolun, açıklanan tekniklerden biri veya daha fazlası kullanılarak oluşturulabileceğine dikkat edin. Örneğin, GetFolderPath yöntemi MyDocuments klasörünün yolunu almak için kullanılabilir, ardından göreli alt dizin bölümü eklemek için bir uygulama ayarı kullanılabilir.
sınıfı, System.IO.Path mutlak ve göreli yol dizelerini işlemeye yardımcı olmak için statik üyeler içerirken System.IO.File ve System.IO.Directory sınıflarında sırasıyla dosyaları ve dizinleri işleyen statik üyeler bulunur.
Önemli
Uygulamanızın kullanıcısı klasöründeki FileDialogklasörü değiştirirse, uygulamanızın geçerli çalışma dizini içinde FileDialogbelirtilen konuma ayarlanır. Bunu önlemek için özelliğini olarak true
ayarlayınRestoreDirectory.
Alanlar
EventFileOk |
Olayın sahibidir FileOk . |
Özellikler
AddExtension |
Kullanıcı uzantıyı atlarsa, iletişim kutusunun dosya adına otomatik olarak uzantı ekleyip eklemediğini belirten bir değer alır veya ayarlar. |
AddToRecent |
İletişim kutusunun açılan veya kaydedilen dosyayı son listeye ekleyip eklemediğini belirten bir değer alır veya ayarlar. |
AutoUpgradeEnabled |
Windows Vista'da çalışırken bu FileDialog örneğin görünümü ve davranışı otomatik olarak yükseltmesi gerekip gerekmediğini belirten bir değer alır veya ayarlar. |
CanRaiseEvents |
Bileşenin olay oluşturup oluşturamayacağını belirten bir değer alır. (Devralındığı yer: Component) |
CheckFileExists |
Kullanıcı var olmayan bir dosya adı belirtirse iletişim kutusunun uyarı görüntüleyip görüntülemediğini belirten bir değer alır veya ayarlar. |
CheckPathExists |
Kullanıcı var olmayan bir yol belirtirse iletişim kutusunun uyarı görüntüleyip görüntülemediğini belirten bir değer alır veya ayarlar. |
ClientGuid |
Guid değerini bu iletişim kutusu durumuyla ilişkilendirilecek şekilde alır veya ayarlar. Genellikle, son ziyaret edilen klasör ve iletişim kutusunun konumu ve boyutu gibi durum yürütülebilir dosyanın adına göre kalıcıdır. Guid belirterek, bir uygulama aynı uygulama içindeki iletişim kutusunun farklı sürümleri için farklı kalıcı durumlara sahip olabilir (örneğin, içeri aktarma iletişim kutusu ve açık iletişim kutusu). Bir uygulama görsel stiller kullanmıyorsa veya olarak ayarlandıysa AutoUpgradeEnabled |
Container |
öğesini IContainer içeren öğesini Componentalır. (Devralındığı yer: Component) |
CustomPlaces |
Bu FileDialog örnek için özel yerler koleksiyonunu alır. |
DefaultExt |
Varsayılan dosya adı uzantısını alır veya ayarlar. |
DereferenceLinks |
İletişim kutusunun kısayol tarafından başvurulan dosyanın konumunu döndürdüğü veya kısayolun konumunu (.lnk) döndürdüğü bir değer alır veya ayarlar. |
DesignMode |
öğesinin şu anda tasarım modunda olup olmadığını Component gösteren bir değer alır. (Devralındığı yer: Component) |
Events |
Bu Componentöğesine eklenen olay işleyicilerinin listesini alır. (Devralındığı yer: Component) |
FileName |
Dosya iletişim kutusunda seçilen dosya adını içeren bir dizeyi alır veya ayarlar. |
FileNames |
İletişim kutusundaki tüm seçili dosyaların dosya adlarını alır. |
Filter |
İletişim kutusundaki "Dosya türü olarak kaydet" veya "Dosya türü" kutusunda görünen seçenekleri belirleyen geçerli dosya adı filtre dizesini alır veya ayarlar. |
FilterIndex |
Dosya iletişim kutusunda seçili durumdaki filtrenin dizinini alır veya ayarlar. |
InitialDirectory |
Dosya iletişim kutusu tarafından görüntülenen ilk dizini alır veya ayarlar. |
Instance |
Uygulama için Win32 örnek tanıtıcısını alır. |
OkRequiresInteraction |
Kullanıcı görünümde gezinene veya dosya adını düzenleyene kadar (varsa) iletişim kutusunun Tamam düğmesinin devre dışı bırakıldığını belirten bir değer alır veya ayarlar. |
Options |
başlatma FileDialogdeğerlerini alır. |
RestoreDirectory |
İletişim kutusunun kapatmadan önce dizini daha önce seçilen dizine geri yükleyip geri yüklemeyeceğini belirten bir değer alır veya ayarlar. |
ShowHelp |
Dosya iletişim kutusunda Yardım düğmesinin görüntülenip görüntülenmeyeceğini belirten bir değer alır veya ayarlar. |
ShowHiddenFiles |
İletişim kutusunun gizli ve sistem dosyalarını görüntüleyip görüntülemediğini belirten bir değer alır veya ayarlar. |
ShowPinnedPlaces |
Görünümün gezinti bölmesinde varsayılan olarak gösterilen öğelerin gösterilip gösterilmediğini belirten bir değer alır veya ayarlar. |
Site |
öğesini alır veya ayarlar ISiteComponent. (Devralındığı yer: Component) |
SupportMultiDottedExtensions |
İletişim kutusunun birden çok dosya adı uzantısına sahip dosyaların görüntülenmesini ve kaydedilmesini destekleyip desteklemediğini alır veya ayarlar. |
Tag |
Denetim hakkındaki verileri içeren bir nesneyi alır veya ayarlar. (Devralındığı yer: CommonDialog) |
Title |
Dosya iletişim kutusu başlığını alır veya ayarlar. |
ValidateNames |
İletişim kutusunun yalnızca geçerli Win32 dosya adlarını kabul edip etmediğini belirten bir değer alır veya ayarlar. |
Yöntemler
CreateObjRef(Type) |
Uzak bir nesneyle iletişim kurmak için kullanılan bir ara sunucu oluşturmak için gereken tüm ilgili bilgileri içeren bir nesne oluşturur. (Devralındığı yer: MarshalByRefObject) |
Dispose() |
Component tarafından kullanılan tüm kaynakları serbest bırakır. (Devralındığı yer: Component) |
Dispose(Boolean) |
Component tarafından kullanılan yönetilmeyen kaynakları serbest bırakır ve yönetilen kaynakları isteğe bağlı olarak serbest bırakır. (Devralındığı yer: Component) |
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetLifetimeService() |
Geçersiz.
Bu örnek için yaşam süresi ilkesini denetleen geçerli yaşam süresi hizmet nesnesini alır. (Devralındığı yer: MarshalByRefObject) |
GetService(Type) |
veya tarafından ComponentContainersağlanan bir hizmeti temsil eden bir nesnesi döndürür. (Devralındığı yer: Component) |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
HookProc(IntPtr, Int32, IntPtr, IntPtr) |
Dosya iletişim kutusuna belirli işlevler eklemek için geçersiz kılınan ortak iletişim kutusu kanca yordamını tanımlar. |
InitializeLifetimeService() |
Geçersiz.
Bu örneğin yaşam süresi ilkesini denetlemek için bir yaşam süresi hizmet nesnesi alır. (Devralındığı yer: MarshalByRefObject) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
MemberwiseClone(Boolean) |
Geçerli MarshalByRefObject nesnenin sığ bir kopyasını oluşturur. (Devralındığı yer: MarshalByRefObject) |
OnFileOk(CancelEventArgs) |
Olayı tetikler FileOk . |
OnHelpRequest(EventArgs) |
Olayı tetikler HelpRequest . (Devralındığı yer: CommonDialog) |
OwnerWndProc(IntPtr, Int32, IntPtr, IntPtr) |
Ortak bir iletişim kutusuna belirli işlevler eklemek için geçersiz kılınan sahip penceresi yordamını tanımlar. (Devralındığı yer: CommonDialog) |
Reset() |
Tüm özellikleri varsayılan değerlerine sıfırlar. |
RunDialog(IntPtr) |
Ortak bir iletişim kutusu belirtir. |
ShowDialog() |
Varsayılan sahibi olan ortak bir iletişim kutusu çalıştırır. (Devralındığı yer: CommonDialog) |
ShowDialog(IWin32Window) |
Belirtilen sahiple ortak bir iletişim kutusu çalıştırır. (Devralındığı yer: CommonDialog) |
ToString() |
Bu nesnenin dize sürümünü sağlar. |
Ekinlikler
Disposed |
Bileşen yöntemine Dispose() yapılan bir çağrı tarafından atıldığında gerçekleşir. (Devralındığı yer: Component) |
FileOk |
Kullanıcı dosyadaki Aç veya Kaydet düğmesine tıkladığında gerçekleşir. |
HelpRequest |
Kullanıcı ortak bir iletişim kutusundaki Yardım düğmesine tıkladığında gerçekleşir. (Devralındığı yer: CommonDialog) |