• OpenFileDialog、SaveFileDialog常用屬性、對話框用法及得到系統特殊文件夾路徑(转)


    转自:http://www.cnblogs.com/scottckt/archive/2008/01/26/1054382.html

    OpenFileDialog、SaveFileDialog常用屬性、對話框用法及得到系統特殊文件夾路徑

    .Net Framework 包含的對話框類

      1、CommonDiaolog

    FileDialog

    OpenFileDialog

    用戶選擇和瀏覽要打開的文件,可以配置只選擇一個或多個文件

    SaveFileDialog

    為要保存的文件指定文件名和路徑。

    FolerBrowserDialog


    選擇和創建目錄。.Net 2.0中的新類。

    ColorDialog


    用於選擇顏色

    FontDialog


    所有已安裝的Windows字體、樣式和字號,以及各字體的預覽效果,以便選擇字體。

    PageSetupDialog


    配置頁面的邊距

    PrintDialog


    用於選擇打印機,並設置打印選項

       2、Form

    PrintPreviewDialog

    在屏幕上進行打印預覽的一種方法。


        3、CommonDialog類定義了下表方法和事件

    公共實例方法和事件


    ShowDialog()

    顯示一個通用對話框

    Reset()

    每個派生的對話框都執行Reset()方法,把對話框類的所有屬性都設置為它們的默認值

    HelpRequest

    當用戶單擊通用對話框的Help按鈕時,就引發該事件

        CommonDialog是對話框類的基類,所以所有對話框類的使用方式都是類似的。ShowDialog()調用受保護的RunDialog()實例方法來顯示對話框,並利用用戶與對話框交互操作的信息,最終返回一個DialogResult實例。另一方面,Reset()把對話框類的屬性設置為它們的默認值。



    OpenFileDialog常用屬性

    Title

    標題

    InitialDirectory

    默認打開位置,即初始目錄

    Filter

    設置過慮字符

    FilterIndex

    屬性指定列表框中默認的選項。其值基於1

    ValidateNames

    檢查用戶輸入的文件名是否有效。無效的文件句包含""/或:等元效字符

    CheckFileExist

    驗證文件有效性,默認為True

    CheckPathExists

    驗證路徑有效性,默認為True

    ShowHelp

    顯示幫助信息

    Multiselect

    選擇多個文件

        默認情況下:對話框將打開用戶上一次運行應用程序時打開的目錄。它調用的Windows通用對話框使用注冊表來定位上一次打開的文件名

    Filter設置文件過慮器
        即定義用戶可以選擇打開的文件類型。簡單的過慮器字符串如下:
       Text Documents (*.txt)|*.txt|All Files|*.*
       過慮器可以分為多個部分,每個部分用一個堅杠字符(|)分隔開。各部分的個數總數是偶數。第一個字符串定義要在列表框中顯示的文本,第二個字符用於指定要在對話框中顯示的文件的擴展名。如:Text Documents (*.txt)|*.txt,分為用“Text Documents (*.txt)”“*.txt”兩兩部分,部用 “|”分隔。Filter屬性設置過慮字符串。過慮器前后不允許有空白。

    ValidateNames有效性檢查:
        檢查用戶輸入的文件名是否有效。當為True時,可以用CheckFileExistCheckPathExists進行其它有效性驗證。

    ShowHelp幫助:
        OpenFileDialog提供了一個幫助按鈕,在默認情況下,該按鈕是不可見的。ShowHelpTrue時才會顯示。也可以給HelpRequest添加一個事件處理程序,用到給用戶顯示幫助信息。

    DialogResult結果:
        OpenFileDialog類的ShowDialog()方法返回一個DialogResult枚舉。該枚舉定義了成員AbortCancelIgnoreNoNoneOkRetryYes
        None是默認值,只要用戶沒有關閉對話框一,就設置這個值。
        SaveFileDialog只有DialogResult.okDialogResult.Cancel

    Multiselect選擇多個文件:
        當Multiselect屬性設置為True時,用戶可以選擇多個文件,FileNames數組中的第一個字符串是最后一個選中的文件。FileNme屬性總是包含最后一個選中的文件名。


    這些屬性在界面中對應如下圖:



    SaveFileDialog常用屬性

    AddExtension

    是否把擴展名自動添加到用戶輸入的文件名上。默認為True,如果用戶已經輸入了一個文件擴展名,就不會添加其它擴展名了。

    CheckFileExist

    驗證文件有效性,默認為False

    CheckPathExists

    驗證路徑有效性,默認為True

    CreatePrompt

    詢問用記是否分創建一個新文件

    OverwritePrompt

    是否覆蓋已有文件。


         如果用戶沒有輸入擴展名,就使用DefaultExt屬性設置的文件擴展名。如果這個屬性為空,就使用當前選擇的Filter中定義的文件擴展名。如果設置了FilterDefaultExt,則不論是什麼,都使用DefaultExt

    對話框用法:
    1)創建一個對放框類的新實例
    2)設置選項
    3)調用ShowDialog()方法,顯示對話框,等待用戶響應
    4)設置響應后的動作

    如下面代碼:

                //1、創建一個對放框類的新實例
                OpenFileDialog dlg = new OpenFileDialog();
                
    //2、設置選項
                dlg.Title = "Sample";
                dlg.ShowReadOnly 
    = true;
                
    //3、顯示對話框
                if (dlg.ShowDialog()==DialogResult.OK)
                {
                    
    //4、設置響應后的動作
                    string fileName = dlg.FileName;
                }


    其它:
    得到系統特殊文件夾路徑:
        獲取特定的系統文件夾,可以使用System.Environment類的靜態方法GetFolderPath()。
        Environment.SpecialFolder中定義了系統目錄的路徑
                //得到系統中的特定文件夾
                string dir = Environment.GetFolderPath(Environment.SpecialFolder.Templates);

     //获取文件名  

     Path.GetFileName(OpenFileDialog.FileName)  

     

    //获取文件路径  

    Path.GetDirectoryName(OpenFileDialog.FileName)  

       

     //获取文件扩展名  

    Path.GetExtension(OpenFileDialog.FileName)

  • 相关阅读:
    Log Explorer的使用
    Windows消息大全
    Devepress LayoutControl的使用
    IIS7虚拟目录出现HTTP错误500.19(由于权限不足而无法读取配置文件)
    检索参数信息并填充指定的 SqlCommand 对象的 Parameters 集合
    Failed to access IIS metabase.
    SQL Server FOR XML PATH 语句的应用
    C#调用API:mouse_event 模拟鼠标事件
    C#执行SQL脚本
    ADO.NET 中的表达式
  • 原文地址:https://www.cnblogs.com/millen/p/2016791.html
Copyright © 2020-2023  润新知