2012-09-16 44 views
0

我想使用OpenFileDialog如下面的代碼,但是編譯器顯示異常System::NullReferenceException,一旦我把trycatch塊之間的代碼,不會拋出異常,但現在顯示的對話框!?FileDialog的例外

try 
{ 
    if(openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK) 
    { 
     this->textBox18->Text=openFileDialog1->FileName->ToString(); 

    } 
} 
catch(System::NullReferenceException^ e){ e->Message;} 
+0

使用它之前初始化它讓你創建' openFileDialog1'在使用之前? – MaciekTalaska

+0

像這樣'private:System :: Windows :: Forms :: OpenFileDialog^openFileDialog1;'?? – Aan

+1

@Aan號像這樣'OpenFileDialog^openFileDialog1 = gcnew OpenFileDialog;' – Nasreddine

回答

2

在使用它之前,您必須先創建一個OpenFileDialog類的實例。在這個代碼段:

private: System::Windows::Forms::OpenFileDialog^ openFileDialog1; 

你只是聲明類型OpenFileDialog(帶null初始化)的變量,但你需要能夠與

OpenFileDialog^ openFileDialog1 = gcnew OpenFileDialog;