FileDialog.FileOk 事件

当用户单击文件对话框中的“打开”或“保存”按钮时发生。

**命名空间:**System.Windows.Forms
**程序集:**System.Windows.Forms(在 system.windows.forms.dll 中)

语法

声明
Public Event FileOk As CancelEventHandler
用法
Dim instance As FileDialog
Dim handler As CancelEventHandler

AddHandler instance.FileOk, handler
public event CancelEventHandler FileOk
public:
event CancelEventHandler^ FileOk {
    void add (CancelEventHandler^ value);
    void remove (CancelEventHandler^ value);
}
/** @event */
public void add_FileOk (CancelEventHandler value)

/** @event */
public void remove_FileOk (CancelEventHandler value)
JScript 支持使用事件,但不支持进行新的声明。

备注

有关处理事件的信息,请参见 使用事件

示例

下面的代码示例演示如何使用 FileNames 属性,如何处理 FileOk 事件和如何使用 Application.DoEvents 方法。当该示例运行时,用户可以从 OpenFileDialog 对象中选择图形文件。选定的文件显示在窗体中。Application.DoEvents 方法强制对每个打开的图形文件的窗体进行重新绘制。若要运行此示例,请将以下代码粘贴到一个窗体中,该窗体包含一个名为 PictureBox1PictureBox、一个名为 OpenFileDialog1OpenFileDialog 和一个名为 fileButtonButton。从窗体的构造函数或 Load 方法调用 InitializePictureBoxInitializeOpenFileDialog 方法。当该示例运行时,请通过单击按钮显示对话框。

Private Sub InitializePictureBox()
    Me.PictureBox1 = New System.Windows.Forms.PictureBox
    Me.PictureBox1.BorderStyle = _
        System.Windows.Forms.BorderStyle.FixedSingle
    Me.PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
    Me.PictureBox1.Location = New System.Drawing.Point(72, 112)
    Me.PictureBox1.Name = "PictureBox1"
    Me.PictureBox1.Size = New System.Drawing.Size(160, 136)
    Me.PictureBox1.TabStop = False
End Sub

Private Sub InitializeOpenFileDialog()
    Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog

    ' Set the file dialog to filter for graphics files.
    Me.OpenFileDialog1.Filter = _
    "Images (*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF|All files (*.*)|*.*"

    ' Allow the user to select multiple images.
    Me.OpenFileDialog1.Multiselect = True
    Me.OpenFileDialog1.Title = "My Image Browser"
End Sub

Private Sub fileButton_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles FileButton.Click
    OpenFileDialog1.ShowDialog()
End Sub


' This method handles the FileOK event.  It opens each file 
' selected and loads the image from a stream into PictureBox1.
Private Sub OpenFileDialog1_FileOk(ByVal sender As Object, _
ByVal e As System.ComponentModel.CancelEventArgs) _
 Handles OpenFileDialog1.FileOk

    Me.Activate()
    Dim file, files() As String
    files = OpenFileDialog1.FileNames

    ' Open each file and display the image in PictureBox1.
    ' Call Application.DoEvents to force a repaint after each
    ' file is read.        
    For Each file In files
        Dim fileInfo As System.IO.FileInfo = New System.IO.FileInfo(file)
        Dim fileStream As System.IO.FileStream = fileInfo.OpenRead()
        PictureBox1.Image = System.Drawing.Image.FromStream(fileStream)
        Application.DoEvents()
        fileStream.Close()

        ' Call Sleep so the picture is briefly displayed, 
        'which will create a slide-show effect.
        System.Threading.Thread.Sleep(2000)
    Next
    PictureBox1.Image = Nothing
End Sub
private void InitializePictureBox()
{
    this.PictureBox1 = new System.Windows.Forms.PictureBox();
    this.PictureBox1.BorderStyle = 
        System.Windows.Forms.BorderStyle.FixedSingle;
    this.PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
    this.PictureBox1.Location = new System.Drawing.Point(72, 112);
    this.PictureBox1.Name = "PictureBox1";
    this.PictureBox1.Size = new System.Drawing.Size(160, 136);
    this.PictureBox1.TabIndex = 6;
    this.PictureBox1.TabStop = false;
}

private void InitializeOpenFileDialog()
{
    this.OpenFileDialog1 = new System.Windows.Forms.OpenFileDialog();

    // Set the file dialog to filter for graphics files.
    this.OpenFileDialog1.Filter = 
        "Images (*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF|" + 
        "All files (*.*)|*.*";

    // Allow the user to select multiple images.
    this.OpenFileDialog1.Multiselect = true;
    this.OpenFileDialog1.Title = "My Image Browser";
    
}

private void fileButton_Click(System.Object sender, System.EventArgs e)
{
    OpenFileDialog1.ShowDialog();
}


// This method handles the FileOK event.  It opens each file 
// selected and loads the image from a stream into PictureBox1.
private void OpenFileDialog1_FileOk(object sender, 
    System.ComponentModel.CancelEventArgs e)
{

    this.Activate();
     string[] files = OpenFileDialog1.FileNames;

    // Open each file and display the image in PictureBox1.
    // Call Application.DoEvents to force a repaint after each
    // file is read.        
    foreach (string file in files )
    {
        System.IO.FileInfo fileInfo = new System.IO.FileInfo(file);
        System.IO.FileStream fileStream = fileInfo.OpenRead();
        PictureBox1.Image = System.Drawing.Image.FromStream(fileStream);
        Application.DoEvents();
        fileStream.Close();

        // Call Sleep so the picture is briefly displayed, 
        //which will create a slide-show effect.
        System.Threading.Thread.Sleep(2000);
    }
    PictureBox1.Image = null;
}
void InitializePictureBox()
{
   this->PictureBox1 = gcnew System::Windows::Forms::PictureBox;
   this->PictureBox1->BorderStyle =
      System::Windows::Forms::BorderStyle::FixedSingle;
   this->PictureBox1->SizeMode = PictureBoxSizeMode::StretchImage;
   this->PictureBox1->Location = System::Drawing::Point( 72, 112 );
   this->PictureBox1->Name = "PictureBox1";
   this->PictureBox1->Size = System::Drawing::Size( 160, 136 );
   this->PictureBox1->TabIndex = 6;
   this->PictureBox1->TabStop = false;
}

void InitializeOpenFileDialog()
{
   this->OpenFileDialog1 = gcnew System::Windows::Forms::OpenFileDialog;
   
   // Set the file dialog to filter for graphics files.
   this->OpenFileDialog1->Filter =
      "Images (*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF|" +
      "All files (*.*)|*.*";
   
   // Allow the user to select multiple images.
   this->OpenFileDialog1->Multiselect = true;
   this->OpenFileDialog1->Title = "My Image Browser";
}

void fileButton_Click( System::Object^ sender, System::EventArgs^ e )
{
   OpenFileDialog1->ShowDialog();
}

// This method handles the FileOK event.  It opens each file 
// selected and loads the image from a stream into PictureBox1.
void OpenFileDialog1_FileOk( Object^ sender,
   System::ComponentModel::CancelEventArgs^ e )
{
   this->Activate();
   array<String^>^ files = OpenFileDialog1->FileNames;
   
   // Open each file and display the image in PictureBox1.
   // Call Application.DoEvents to force a repaint after each
   // file is read.        
   for each ( String^ file in files )
   {
      System::IO::FileInfo^ fileInfo = gcnew System::IO::FileInfo( file );
      System::IO::FileStream^ fileStream = fileInfo->OpenRead();
      PictureBox1->Image = System::Drawing::Image::FromStream( fileStream );
      Application::DoEvents();
      fileStream->Close();
      
      // Call Sleep so the picture is briefly displayed, 
      //which will create a slide-show effect.
      System::Threading::Thread::Sleep( 2000 );
   }
   PictureBox1->Image = nullptr;
}
private void InitializePictureBox()
{
    this.pictureBox1 = new System.Windows.Forms.PictureBox();
    this.pictureBox1.set_BorderStyle(
        System.Windows.Forms.BorderStyle.FixedSingle);
    this.pictureBox1.set_SizeMode(PictureBoxSizeMode.StretchImage);
    this.pictureBox1.set_Location(new System.Drawing.Point(72, 112));
    this.pictureBox1.set_Name("pictureBox1");
    this.pictureBox1.set_Size(new System.Drawing.Size(160, 136));
    this.pictureBox1.set_TabIndex(6);
    this.pictureBox1.set_TabStop(false);
} //InitializePictureBox

private void InitializeOpenFileDialog()
{
    this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
    // Set the file dialog to filter for graphics files.
    this.openFileDialog1.set_Filter("Images (*.BMP;*.JPG;*.GIF)|" 
        + "*.BMP;*.JPG;*.GIF|All files (*.*)|*.*");
    // Allow the user to select multiple images.
    this.openFileDialog1.set_Multiselect(true);
    this.openFileDialog1.set_Title("My Image Browser");
} //InitializeOpenFileDialog

private void fileButton_Click(Object sender, System.EventArgs e)
{
    openFileDialog1.ShowDialog();
} //fileButton_Click

// This method handles the FileOK event. It opens each file 
// selected and loads the image from a stream into pictureBox1.
private void openFileDialog1_FileOk(Object sender, 
    System.ComponentModel.CancelEventArgs e)
{
    this.Activate();
    String files[] = openFileDialog1.get_FileNames();
    // Open each file and display the image in pictureBox1.
    // Call Application.DoEvents to force a repaint after each
    // file is read.
    for (int iCtr = 0; iCtr < files.length; iCtr++) {
        String file = files[iCtr];
        System.IO.FileInfo fileInfo = new System.IO.FileInfo(file);
        System.IO.FileStream fileStream = fileInfo.OpenRead();
        pictureBox1.set_Image(System.Drawing.Image.FromStream(fileStream));
        Application.DoEvents();
        fileStream.Close();
        // Call Sleep so the picture is briefly displayed, 
        // which will create a slide-show effect.
        System.Threading.Thread.Sleep(2000);
    }
    pictureBox1.set_Image(null);
} //openFileDialog1_FileOk

平台

Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

请参见

参考

FileDialog 类
FileDialog 成员
System.Windows.Forms 命名空间
OnFileOk