OpenFileDialog 組件是.net預設的有模式對話框之一,,與Windows操作系統(tǒng)中常見的“打開”對話框一樣,,如下圖一所示。 我們可以使用 OpenFileDialog 組件快速創(chuàng)建用戶熟悉的打開文件對話框,;用戶可以使用它瀏覽計算機以及網(wǎng)絡中任何計算機上的文件夾,,并選擇打開一個或多個文件。該對話框返回用戶在對話框中選定的文件的路徑和名稱,。 在vb.net工具箱中,,OpenFileDialog 組件如下圖二所示: 一、OpenFileDialog 組件常用屬性和方法 1,、FileName 屬性:一個包含在文件對話框中選定的文件名的字符串,,包括文件的完整路徑。 2,、FileNames 屬性:獲取對話框中所有選定文件的文件名,。 3、AddExtension 屬性:指示如果用戶省略擴展名,,對話框是否自動在文件名中添加擴展名,。 4、CheckFileExists 屬性:指示如果用戶指定不存在的文件名,,對話框是否顯示警告,。 5、CheckPathExists 屬性:獲取或設置一個值,,該值指示如果用戶指定不存在的路徑,,對話框是否顯示警告。 6,、DefaultExt 屬性:默認文件擴展名,,返回的字符串不包含句點 (.),默認值為一空字符串 (""),。當用戶輸入文件名時未指定文件的擴展名則自動以該屬性來補全擴展名,,如果 DefaultExt 屬性為默認空字符串,則以當前選定的篩選器中的文件類型來補全缺少的文件擴展名,。 7,、DereferenceLinks 屬性:指示對話框返回的是快捷方式引用的文件的位置(設置為True)還是返回快捷方式(.lnk)的位置(設置為False),。 默認值為True,即選中快捷方式的時候,,F(xiàn)ileName 返回的是文件的真實路徑,,如果該值為False,則返回的是該快捷方式所在的位置,。 8,、Filter 屬性:當前文件名篩選器字符串,該字符串決定對話框的“另存為文件類型”或“文件類型”框中出現(xiàn)的選擇內(nèi)容,。 9,、FilterIndex 屬性:獲取或設置文件對話框中當前選定篩選器的索引。 10,、InitialDirectory 屬性:文件對話框顯示的初始目錄,。 11、Multiselect 屬性:指示對話框是否允許選擇多個文件,。 12,、ShowReadOnly 屬性:指示對話框是否包含只讀復選框。當它為True的時候,,將會在如圖一紅圈的位置顯示“以只讀方式打開”的復選框,。ReadOnlyChecked 屬性:指示是否選定只讀復選框,默認為False,,需要與 ShowReadOnly 屬性配合使用,。 13、RestoreDirectory 屬性:指示對話框在關閉前是否還原當前目錄,。 14,、Title 屬性:獲取或設置文件對話框標題。 我們通過 ShowDialog 方法來顯示“打開”對話框,。通過 OpenFile 方法以只讀方式打開一個選定的文件,,如果需要進行寫操作,則必須使用 StreamReader 類的實例打開文件,。 下面我們就演示如何使用 OpenFileDialog 組件來打開文件,。 二、以只讀方式打開文件 在窗體的Button按鈕添加如下代碼: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim myStream As System.IO.Stream openFileDialog1.InitialDirectory = "c:\" openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*" openFileDialog1.FilterIndex = 2 OpenFileDialog1.RestoreDirectory = True If OpenFileDialog1.ShowDialog() = DialogResult.OK Then MsgBox(OpenFileDialog1.FileName) myStream = OpenFileDialog1.OpenFile() If Not (myStream Is Nothing) Then MessageBox.Show(myStream.Length.ToString) myStream.Close() End If End If End Sub 以上代碼是以只讀方式打開用戶指定的文件,,運行效果如下圖三所示: 如果需要對打開的文件進行操作,,就不能使用 OpenFile 方法了,我們需要使用 Stream 類來打開,,如下代碼所示: openFileDialog1.InitialDirectory = "c:\" openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*" openFileDialog1.FilterIndex = 2 OpenFileDialog1.RestoreDirectory = True If OpenFileDialog1.ShowDialog() = DialogResult.OK Then Dim sr As New System.IO.StreamReader(OpenFileDialog1.FileName) MessageBox.Show(sr.ReadToEnd) sr.Close() End If 用流來打開文件,,還需要注意文件的編碼方式,對于文本文件的讀寫可以參看這里:VB.NET讀寫文本文件方法,。 |
|
來自: nxhujiee > 《vb.net控件》