Procedura: Aprire file con il componente OpenFileDialogHow to: Open Files Using the OpenFileDialog Component

Il OpenFileDialog consente agli utenti di sfogliare le cartelle del computer o di qualsiasi computer nella rete e selezionare uno o più file da aprire.The OpenFileDialog component allows users to browse the folders of their computer or any computer on the network and select one or more files to open. Nella finestra di dialogo vengono restituiti il percorso e il nome del file selezionato dall'utente.The dialog box returns the path and name of the file the user selected in the dialog box.

Dopo avere selezionato il file da aprire, è possibile procedere all'apertura in due modi.Once the user has selected the file to be opened, there are two approaches to the mechanism of opening the file. Se si preferisce utilizzare flussi di file, è possibile creare un'istanza di StreamReader classe.If you prefer to work with file streams, you can create an instance of the StreamReader class. In alternativa, è possibile utilizzare il OpenFile per aprire il file selezionato.Alternately, you can use the OpenFile method to open the selected file.

Nel primo esempio riportato di seguito implica un FileIOPermission controllo delle autorizzazioni (come descritto in "Nota sulla protezione" riportata di seguito), ma consente di accedere al nome del file.The first example below involves a FileIOPermission permission check (as described in the "Security Note" below), but gives you access to the filename. Questa tecnica può essere usata dal computer locale, dalla rete Intranet e da Internet.You can use this technique from the Local Machine, Intranet, and Internet zones. Il secondo metodo esegue inoltre una FileIOPermission controllo delle autorizzazioni, ma è più adatto per le applicazioni nell'area Intranet o Internet.The second method also does a FileIOPermission permission check, but is better suited for applications in the Intranet or Internet zones.

Per aprire un file come flusso tramite il componente OpenFileDialogTo open a file as a stream using the OpenFileDialog component

  1. Visualizzare la finestra di dialogo Apri file e chiamare un metodo per aprire il file selezionato dall'utente.Display the Open File dialog box and call a method to open the file selected by the user.

    Un approccio consiste nell'utilizzare il ShowDialog metodo per visualizzare la finestra di dialogo Apri File e di un'istanza del StreamReader classe per aprire il file.One approach is to use the ShowDialog method to display the Open File dialog box, and use an instance of the StreamReader class to open the file.

    Nell'esempio seguente viene utilizzato il Button del controllo Click per aprire un'istanza del gestore dell'evento di OpenFileDialog componente.The example below uses the Button control's Click event handler to open an instance of the OpenFileDialog component. Quando viene scelto un file e l'utente fa clic su OK, il file selezionato nella finestra di dialogo viene aperto.When a file is chosen and the user clicks OK, the file selected in the dialog box opens. In questo caso, il contenuto viene visualizzato in una finestra di messaggio per indicare che il flusso di file è stato letto.In this case, the contents are displayed in a message box, just to show that the file stream has been read.

    Importante

    Per ottenere o impostare il FileName proprietà, l'assembly richiede un livello di privilegio concesso per la System.Security.Permissions.FileIOPermission classe.To get or set the FileName property, your assembly requires a privilege level granted by the System.Security.Permissions.FileIOPermission class. Se viene eseguito in un contesto parzialmente attendibile, il processo potrebbe generare un'eccezione a causa di privilegi insufficienti.If you are running in a partial-trust context, the process might throw an exception due to insufficient privileges. Per altre informazioni, vedere Code Access Security Basics (Nozioni di base sulla sicurezza dell'accesso di codice).For more information, see Code Access Security Basics.

    Nell'esempio si presuppone il modulo contiene un Button controllo e un OpenFileDialog componente.The example assumes your form has a Button control and an OpenFileDialog component.

    Private Sub Button1_Click(ByVal sender As System.Object, _  
       ByVal e As System.EventArgs) Handles Button1.Click  
       If OpenFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then  
         Dim sr As New System.IO.StreamReader(OpenFileDialog1.FileName)  
         MessageBox.Show(sr.ReadToEnd)  
         sr.Close()  
       End If  
    End Sub  
    
    private void button1_Click(object sender, System.EventArgs e)  
    {  
       if(openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)  
       {  
          System.IO.StreamReader sr = new   
             System.IO.StreamReader(openFileDialog1.FileName);  
          MessageBox.Show(sr.ReadToEnd());  
          sr.Close();  
       }  
    }  
    
    private:  
       void button1_Click(System::Object ^ sender,  
          System::EventArgs ^ e)  
       {  
          if(openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK)  
          {  
             System::IO::StreamReader ^ sr = gcnew  
                System::IO::StreamReader(openFileDialog1->FileName);  
             MessageBox::Show(sr->ReadToEnd());  
             sr->Close();  
          }  
       }  
    

    (Visual c# e Visual C++Visual C++) inserire il codice seguente nel costruttore del form per registrare il gestore dell'evento.(Visual C# and Visual C++Visual C++) Place the following code in the form's constructor to register the event handler.

    this.button1.Click += new System.EventHandler(this.button1_Click);  
    
    this->button1->Click += gcnew  
       System::EventHandler(this, &Form1::button1_Click);  
    

    Nota

    Per ulteriori informazioni sulla lettura da flussi di file, vedere BeginRead e Read.For more information about reading from file streams, see BeginRead and Read.

Per aprire un file come file tramite il componente OpenFileDialogTo open a file as a file using the OpenFileDialog component

  1. Utilizzare il ShowDialog metodo per visualizzare la finestra di dialogo e OpenFile metodo per aprire il file.Use the ShowDialog method to display the dialog box and the OpenFile method to open the file.

    Il OpenFileDialog del componente OpenFile metodo restituisce i byte che compongono il file.The OpenFileDialog component's OpenFile method returns the bytes that compose the file. e che forniscono un flusso da cui leggere.These bytes give you a stream to read from. Nell'esempio seguente, un OpenFileDialog componente viene creata un'istanza con un filtro "cursor", che consente all'utente di scegliere solo i file con l'estensione del nome file.cur.In the example below, an OpenFileDialog component is instantiated with a "cursor" filter on it, allowing the user to choose only files with the file name extension.cur. Se si sceglie un file .cur, il cursore del form viene impostato sul cursore selezionato.If a.cur file is chosen, the form's cursor is set to the selected cursor.

    Importante

    Per chiamare il OpenFile (metodo), l'assembly richiede un livello di privilegio concesso per la System.Security.Permissions.FileIOPermission classe.To call the OpenFile method, your assembly requires a privilege level granted by the System.Security.Permissions.FileIOPermission class. Se viene eseguito in un contesto parzialmente attendibile, il processo potrebbe generare un'eccezione a causa di privilegi insufficienti.If you are running in a partial-trust context, the process might throw an exception due to insufficient privileges. Per altre informazioni, vedere Code Access Security Basics (Nozioni di base sulla sicurezza dell'accesso di codice).For more information, see Code Access Security Basics.

    Nell'esempio si presuppone il modulo contiene un Button controllo.The example assumes your form has a Button control.

    Private Sub Button1_Click(ByVal sender As System.Object, _  
       ByVal e As System.EventArgs) Handles Button1.Click  
       ' Displays an OpenFileDialog so the user can select a Cursor.  
       Dim openFileDialog1 As New OpenFileDialog()  
       openFileDialog1.Filter = "Cursor Files|*.cur"  
       openFileDialog1.Title = "Select a Cursor File"  
    
       ' Show the Dialog.  
       ' If the user clicked OK in the dialog and   
       ' a .CUR file was selected, open it.  
       If openFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then  
         ' Assign the cursor in the Stream to the Form's Cursor property.  
         Me.Cursor = New Cursor(openFileDialog1.OpenFile())  
       End If  
    End Sub  
    
    private void button1_Click(object sender, System.EventArgs e)  
    {  
       // Displays an OpenFileDialog so the user can select a Cursor.  
       OpenFileDialog openFileDialog1 = new OpenFileDialog();  
       openFileDialog1.Filter = "Cursor Files|*.cur";  
       openFileDialog1.Title = "Select a Cursor File";  
    
       // Show the Dialog.  
       // If the user clicked OK in the dialog and  
       // a .CUR file was selected, open it.  
        if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)  
       {  
          // Assign the cursor in the Stream to the Form's Cursor property.  
          this.Cursor = new Cursor(openFileDialog1.OpenFile());  
       }  
    }  
    
    private:  
       void button1_Click(System::Object ^ sender,  
          System::EventArgs ^ e)  
       {  
          // Displays an OpenFileDialog so the user can select a Cursor.  
          OpenFileDialog ^ openFileDialog1 = new OpenFileDialog();  
          openFileDialog1->Filter = "Cursor Files|*.cur";  
          openFileDialog1->Title = "Select a Cursor File";  
    
          // Show the Dialog.  
          // If the user clicked OK in the dialog and  
          // a .CUR file was selected, open it.  
          if (openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK)  
          {  
             // Assign the cursor in the Stream to  
             // the Form's Cursor property.  
             this->Cursor = gcnew  
                System::Windows::Forms::Cursor(  
                openFileDialog1->OpenFile());  
          }  
       }  
    

    (Visual c# e Visual C++Visual C++) inserire il codice seguente nel costruttore del form per registrare il gestore dell'evento.(Visual C# and Visual C++Visual C++) Place the following code in the form's constructor to register the event handler.

    this.button1.Click += new System.EventHandler(this.button1_Click);  
    
    this->button1->Click += gcnew  
       System::EventHandler(this, &Form1::button1_Click);  
    

Vedere ancheSee Also

OpenFileDialog
Componente OpenFileDialogOpenFileDialog Component