1. 程式人生 > >c#—OpenFileDialog的一些屬性

c#—OpenFileDialog的一些屬性

轉自https://www.cnblogs.com/dujinyang/p/4788028.html

 


 

String.IndexOf

  String.IndexOf 方法 (Char, Int32, Int32)
報告指定字元在此例項中的第一個匹配項的索引。搜尋從指定字元位置開始,並檢查指定數量的字元位置。
String.IndexOf(value, startIndex, count)

引數
value:要查詢的 Unicode 字元。 
startIndex:搜尋起始位置。 
count:要檢查的字元位置數。
返回值(Int32):
如果找到該字元,則為 value 的索引位置;否則如果未找到,則為 -1。

String.LastIndexOf

名稱 說明
String.LastIndexOf (Char) 報告指定 Unicode 字元在此例項中的最後一個匹配項的索引位置。
String.LastIndexOf (String) 報告指定的 String 在此例項內的最後一個匹配項的索引位置。
String.LastIndexOf (Char, Int32) 報告指定 Unicode 字元在此例項中的最後一個匹配項的索引位置。該搜尋從指定字元位置開始。
String.LastIndexOf (String, Int32) 報告指定的 String 在此例項內的最後一個匹配項的索引位置。該搜尋從指定字元位置開始。
String.LastIndexOf (String, StringComparison) 報告指定字串在當前 String 物件中最後一個匹配項的索引。一個引數指定要用於指定字串的搜尋型別。
String.LastIndexOf (Char, Int32, Int32) 報告指定的 Unicode 字元在此例項內的子字串中的最後一個匹配項的索引位置。搜尋從指定字元位置開始,並檢查指定數量的字元位置。
String.LastIndexOf (String, Int32, Int32) 報告指定的 String 在此例項內的最後一個匹配項的索引位置。搜尋從指定字元位置開始,並檢查指定數量的字元位置。
String.LastIndexOf (String, Int32, StringComparison)
報告指定字串在當前 String 物件中最後一個匹配項的索引。引數指定當前字串中的起始搜尋位置,以及要用於指定字串的搜尋型別。
String.LastIndexOf (String, Int32, Int32, StringComparison)
報告指定的 String 物件在此例項內的最後一個匹配項的索引位置。引數指定當前字串中的起始搜尋位置、要搜尋的當前字串中的字元數量,以及要用於指定字串的搜尋型別。

 

示例:
string str = "深圳市盈基實業有限公司國際通鄧事文*深圳市盈基實業有限公司國際通鄧事文";
Label1.Text = str.LastIndexOf("鄧文").ToString();//返回-1
Label1.Text = str.LastIndexOf("鄧").ToString();//返回32

Label1.Text = str.LastIndexOf("鄧",8).ToString();//返回-1
Label1.Text = str.LastIndexOf("鄧",20).ToString();//返回14
Label1.Text = str.LastIndexOf("鄧",33).ToString();//返回32
說明:在指定的範圍內查詢字元,這個範圍是上面的輸入的引數,理解為,從索引0開始到指定的數值位置範圍內查詢最後一個匹配的的字串的位置。示例中,0-8中沒有“鄧”字,所以返回-1,0-20範圍中,有一個“鄧”字在索引14位置上,0-33範圍中有兩個“鄧”字,因為LastIndexOf是返回最後一個匹配項索引位置,所以返32,而不是14。

String.Substring

名稱 說明
String.Substring (Int32) 從此例項檢索子字串。子字串從指定的字元位置開始。
String.Substring (Int32, Int32) 從此例項檢索子字串。子字串從指定的字元位置開始且具有指定的長度。

 

示例:
string str = "深圳市盈基實業有限公司國際通鄧事文*深圳市盈基實業有限公司國際通鄧事文";
Label1.Text = str.Substring(11);//返回 “國際通鄧事文*深圳市盈基實業有限公司國際通鄧事文”
Label1.Text = str.Substring(11,7);//返回 “國際通鄧事文*”

Label1.Text = str.Substring(str.Length-3,3); // 返回鄧事文,即截倒數3位字元

總結:

IndexOf、LastIndexOf都是返回一個位置,是個整數值;找不到都返回-1;
IndexOf是從左向右查,LastIndexOf是從右向左查,不管是IndexOf還是LastIndexOf,索引序列都是從左到右的(起始值是0)
Substring是字串擷取,返回值是一個擷取後的字串。

 


 

 

 

OpenFileDialog控制元件的基本屬性

  • InitialDirectory:對話方塊的初始目錄 
  • Filter: 獲取或設定當前檔名篩選器字串,例如,"文字檔案(*.txt)|*.txt|所有檔案(*.*)||*.*" 
  • FilterIndex 在對話方塊中選擇的檔案篩選器的索引,如果選第一項就設為1 
  • RestoreDirectory 控制對話方塊在關閉之前是否恢復當前目錄 
  • FileName:第一個在對話方塊中顯示的檔案或最後一個選取的檔案 
  • Title 將顯示在對話方塊標題欄中的字元 
  • AddExtension 是否自動新增預設副檔名 
  • CheckPathExists 在對話方塊返回之前,檢查指定路徑是否存在 
  • DefaultExt 預設副檔名 
  • DereferenceLinks 在從對話方塊返回前是否取消引用快捷方式 
  • ShowHelp 啟用"幫助"按鈕       

  • C# 獲取檔名及副檔名

    string aFirstName = aFile.Substring(aFile.LastIndexOf("\\") + 1, (aFile.LastIndexOf(".") - aFile.LastIndexOf("\\") - 1)); //檔名
    string aLastName = aFile.Substring(aFile.LastIndexOf(".") + 1, (aFile.Length - aFile.LastIndexOf(".") - 1)); //副檔名

    string strFilePaht="檔案路徑";
    Path.GetFileNameWithoutExtension(strFilePath);這個就是獲取檔名的

    還有的就是用Substring擷取
    strFilePaht.Substring(path.LastIndexOf("\\") + 1, path.Length - 1 - path.LastIndexOf("\\"));
    strFilePaht.Substring(path.LastIndexOf("."), path.Length - path.LastIndexOf("."));

    或者用openFileDialog1.SafeFileName

    這樣就能取到該檔案的所在目錄路徑
    string path1 = System.IO.Path.GetDirectoryName(openFileDialog1.FileName) + @"\";

    string path = Path.GetFileName("C:\My Document\path\image.jpg"); //只獲取檔名image.jpg


    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


    string fullPath = @"\WebSite1\Default.aspx";

    string filename = System.IO.Path.GetFileName(fullPath);//檔名 “Default.aspx”
    string extension = System.IO.Path.GetExtension(fullPath);//副檔名 “.aspx”
    string fileNameWithoutExtension = System.IO.Path.GetFileNameWithoutExtension(fullPath);// 沒有副檔名的檔名 “Default”

    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    System.IO.Path.GetFileNam(filePath) //返回帶副檔名的檔名 
    System.IO.Path.GetFileNameWithoutExtension(filePath) //返回不帶副檔名的檔名 
    System.IO.Path.GetDirectoryName(filePath) //返回檔案所在目錄

    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    //獲取當前程序的完整路徑,包含檔名(程序名)。
    string str = this.GetType().Assembly.Location;
    result: X:\xxx\xxx\xxx.exe (.exe檔案所在的目錄+.exe檔名)

    //獲取新的 Process 元件並將其與當前活動的程序關聯的主模組的完整路徑,包含檔名(程序名)。
    string str = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;
    result: X:\xxx\xxx\xxx.exe (.exe檔案所在的目錄+.exe檔名)

    //獲取和設定當前目錄(即該程序從中啟動的目錄)的完全限定路徑。
    string str = System.Environment.CurrentDirectory;
    result: X:\xxx\xxx (.exe檔案所在的目錄)

    //獲取當前 Thread 的當前應用程式域的基目錄,它由程式集衝突解決程式用來探測程式集。
    string str = System.AppDomain.CurrentDomain.BaseDirectory;
    result: X:\xxx\xxx\ (.exe檔案所在的目錄+"\")

    //獲取和設定包含該應用程式的目錄的名稱。
    string str = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
    result: X:\xxx\xxx\ (.exe檔案所在的目錄+"\")

    //獲取啟動了應用程式的可執行檔案的路徑,不包括可執行檔案的名稱。
    string str = System.Windows.Forms.Application.StartupPath;
    result: X:\xxx\xxx (.exe檔案所在的目錄)

    //獲取啟動了應用程式的可執行檔案的路徑,包括可執行檔案的名稱。
    string str = System.Windows.Forms.Application.ExecutablePath;
    result: X:\xxx\xxx\xxx.exe (.exe檔案所在的目錄+.exe檔名)

    //獲取應用程式的當前工作目錄(不可靠)。
    string str = System.IO.Directory.GetCurrentDirectory();
    result: X:\xxx\xxx (.exe檔案所在的目錄)