翻譯|使用教程|編輯:況魚杰|2021-03-02 10:34:11.230|閱讀 308 次
概述:文本和選擇表單字段的值均由表單字段的Text屬性表示。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
TX Text Control .NET for Windows Forms 是一套功能豐富的文字處理控件,它以可重復使用控件的形式為開發人員提供了Word中常用的文字處理功能,對于需要強大且靈活的文檔處理能力的應用程序而言,是理想的選擇。
點擊下載 TX Text Control .NET for Windows Forms X19試用版
文本和選擇表單字段的值均由表單字段的Text屬性表示。這些形式字段的條件可以分為三類:
第一個包含常見的字符串比較,其中將針對特定字符串測試表單字段的文本。可以用于此字符串比較的運算符是,不是,包含,開頭為,結尾為,不包含,不開頭和不結尾。
定義條件的另一種方法是使用運算符“大于”,“大于或等于”,“小于”和“小于”,將表單字段的文本值與指定的比較字符串值進行比較。
創建字符串比較條件的一種更復雜但功能強大的方法是使用正則表達式。這種條件檢查表單字段的文本值是否匹配指定的正則表達式。在這種情況下,可以使用.NET Framework支持的所有正則表達式。
基礎的字符串比較
基本的字符串比較條件是檢查表單字段的文本值(或其中的一部分)是否與特定的字符串匹配。 Is和Is not運算符檢查表單字段的文本是否等于指定的字符串。包含和不包含運算符可用于測試特定的字符串序列。提供以“開頭”,“不以開頭”,“以...結尾”和“不以結尾”檢查表單字段的文本是否以指定的字符串開頭或結尾(或不開頭/結尾)。
下面列出了一些應用此類字符串比較的示例:
包含文字
許多表格要求必須填寫某些表格字段。要檢查是否填寫了文本或選擇表單字段,將Is或Is not運算符與相應的Empty(未設置值)標志一起使用。
要以編程方式創建此條件,請使用以下代碼段:
// Create conditions Condition cdContainsText = new Condition(m_tffTextFormField, Condition.ComparisonOperators.IsNot, null); Condition[] rcdConditions = new Condition[] { cdContainsText };
是“Colorado”還是“ CO”
以下條件顯示了如何通過匹配不同的表達式來關聯特定值。它通過其真實姓名和相應的郵政縮寫來標識科羅拉多州。一種情況是檢查表單字段的文本是否等于字符串“ Colorado”。 另一個測試字符串“ CO”。 這兩個條件都通過“或”邏輯連接詞進行連接。
// Create conditions Condition cdIsColorado = new Condition(m_tffTextFormField, Condition.ComparisonOperators.Is, "Colorado"); Condition cdIsCO = new Condition(m_tffTextFormField, Condition.ComparisonOperators.Is, "CO") { LogicalConnective = Condition.LogicalConnectives.Or }; Condition[] rcdConditions = new Condition[] { cdIsColorado, cdIsCO };可以通過檢查表單字段的文本是否包含但不以'@'開頭,以字符串“ .com”結尾(但不以“ @ .com”結尾)來構造用于.com地址的簡單電子郵件驗證條件。有四個條件是必須通過AND邏輯連接詞進行連接的。第一個條件使用Contains運算符檢查字符串是否包含'@'字符。下一個條件確保“ @”不是表單字段文本的第一個字符(使用“不以運算符開頭”)。條件三檢查文本是否以“ .com”結尾。第四個保證為該地址定義一個域。
要以編程方式創建這些條件,請使用以下代碼段:
// Create conditions Condition cdContainsAt = new Condition(m_tffTextFormField, Condition.ComparisonOperators.Contains, "@"); Condition cdDoesNotStartWithAt = new Condition(m_tffTextFormField, Condition.ComparisonOperators.DoesNotStartWith, "@"); Condition cdEndsWithCOM = new Condition(m_tffTextFormField, Condition.ComparisonOperators.EndsWith, ".com"); Condition cdDoesNotEndWithAtCom = new Condition(m_tffTextFormField, Condition.ComparisonOperators.DoesNotEndWith, "@.com"); Condition[] rcdConditions = new Condition[] { cdContainsAt, cdDoesNotStartWithAt, cdEndsWithCOM, cdDoesNotEndWithAtCom };如上所述,此條件只是驗證電子郵件地址的簡單方法。它不能識別多個'@'符號或無效字符。一種更準確的方法是使用標識此類電子郵件地址的正則表達式。在正則表達式條件一章中定義了如何創建和使用這種正則表達式條件。
字符串值比較
在某些情況下,必須比較由表單字段文本和比較字符串表示的值。 如果兩個字符串都表示一個數字,則條件可以檢查由表單字段文本表示的數字是否大于,大于或等于,小于或小于或等于比較值。 否則,相應的運算符將應用字符串比較,以檢查兩個字符串的字母順序。
字符串值比較的一些示例如下所示:
僅正數
要檢查文本是否表示一個正數,將比較值為0的大于等于運算符或比較值為1的大于等于運算符用作條件。
要以編程方式創建此條件,請使用以下代碼段:
// Create conditions Condition cdGreaterThan0 = new Condition(m_tffTextFormField, Condition.ComparisonOperators.IsGreaterThan, "0"); Condition[] rcdConditions = new Condition[] { cdGreaterThan0 };由于每個將字符串值解釋為數字的條件,該條件也接受十進制值。 在這種情況下,應該注意,數字格式取決于當前的System.Threading.Thread.CurrentThread.CurrentCulture值,這意味著小數點分隔符的解釋在不同的系統上可能會有所不同。 例如:在英語系統中,字符串“ 1.0”表示數字1,而在德語系統中,字符串“,”用于分隔小數,而忽略“。”。 字符(“ 1.0”將被解釋為數字10)。
從0到18的數字
可以通過創建兩個確定該范圍的開始和結束的條件來定義數字范圍。 可以使用“大于”或“大于或等于”運算符定義開始條件。 范圍的末端由使用小于或等于或小于等于運算符的條件確定。
要以編程方式創建這些條件,請使用以下代碼段:
// Create conditions Condition cdGreaterThanOrEqual0 = new Condition(m_tffTextFormField, Condition.ComparisonOperators.IsGreaterThanOrEqual, "0"); Condition cdLessThanOrEqual18 = new Condition(m_tffTextFormField, Condition.ComparisonOperators.IsLessThanOrEqual, "18"); Condition[] rcdConditions = new Condition[] { cdGreaterThanOrEqual0, cdLessThanOrEqual18 };以字符“ a”,“ A”,“ b”,“ B”,“ c”和“ C”開頭的字符串
除了使用“開始于”運算符來檢查字符串是否以特定字符開頭之外,還可以使用“大于”,“大于或等于”,“小于”和“小于或等于”運算符。
要標識以特定字符開頭的字符串,必須至少指定兩個條件。 第一個條件使用大于或等于運算符來確定該范圍的第一個有效字符串。 第二個條件使用Is小于運算符指定最后一個有效字符串后的以下字符。 由于字符串比較區分大小寫,因此,如果需要,必須同時為大寫和小寫創建條件。
要以編程方式創建這些條件,請使用以下代碼段:
// Create conditions Condition cdFromFirstLowerCaseA = new Condition(m_tffTextFormField, Condition.ComparisonOperators.IsGreaterThanOrEqual, "a"); Condition cdToAllLowerCaseC = new Condition(m_tffTextFormField, Condition.ComparisonOperators.IsLessThan, "d"); Condition cdFromFirstUpperCaseA = new Condition(m_tffTextFormField, Condition.ComparisonOperators.IsGreaterThanOrEqual, "A") { LogicalConnective = Condition.LogicalConnectives.Or }; Condition cdToAllUpperCaseC = new Condition(m_tffTextFormField, Condition.ComparisonOperators.IsLessThan, "D");使用正則表達式
創建條件的一種有效方法是使用正則表達式。 可以使用正則表達式來定義簡單條件(例如,檢查一定數量的字符)和更復雜的情況(例如,標識電子郵件地址)。 為此,必須創建一個條件,該條件使用“匹配”正則表達式或“不匹配”正則表達式運算符以及有效的正則表達式字符串。
下面列出了一些使用正則表達式作為條件的示例:
文字長度大于4且小于9
若要定義測試表單字段的文本長度的最小和最大長度的條件,可以使用正則表達式字符串“ ^。{min,max} $”。 最小占位符表示所需的最小長度。最大占位符最大長度。
要以編程方式創建此條件,請使用以下代碼段:
// Create conditions Condition cdMatchesLengthRange = new Condition(m_tffTextFormField, Condition.ComparisonOperators.Is, "^.{5,8}$", Condition.TextComparisonFlags.Regex); Condition[] rcdConditions = new Condition[] { cdMatchesLengthRange };沒有數字,沒有空格
可以通過將正則表達式“ [\ s \ d] +”與“不匹配正則表達式”運算符一起設置來確定創建僅接受不包含數字或空格的字符串的條件的選項。
要以編程方式創建此條件,請使用以下代碼段:
// Create conditions Condition cdGreaterThan0 = new Condition(m_tffTextFormField, Condition.ComparisonOperators.IsGreaterThan, "0"); Condition[] rcdConditions = new Condition[] { cdGreaterThan0 };
其他有用的正則表達式
特定選擇表格的現場條件
SelectionFormField類既可以作為組合框也可以作為下拉列表進行處理。 關于其項目集合,除了上面列出的條件之外,SelectionFormField類還提供了兩個其他選項。
第一個是創建一個條件,該條件將顯示的文本與特定項目的文本進行比較。 與簡單字符串比較條件的不同之處在于,指定的項必須存在。 如果SelectionFormField的Items屬性不包含帶有指定文本的項目,則即使文本比較成功,該條件也將被視為未滿足。
另一個選項是檢查當前是否選擇了任何項目。 與檢查特定項目類似,該條件將測試SelectionFormField項目數組中的任何字符串是否等于顯示的文本。
使用項目相關條件的一些示例如下所示:
等于項目“基本經濟艙”的文本
要測試是否選擇了特定項目,必須結合Is或Is not運算符使用條件對其進行引用。本示例說明如果選擇了“基本經濟艙”項目,則如何創建滿足的條件。
要以編程方式創建此條件,請使用以下代碼段:
// Create conditions Condition cdIsEconomyClassBasicItem = new Condition(m_sffDropDownList, Condition.ComparisonOperators.Is, " Economy class basic", Condition.ItemComparisonFlags.SpecificItem); Condition[] rcdConditions = new Condition[] { cdIsEconomyClassBasicItem };獲取所有“經濟艙”子類別
在某些情況下,一個項目代表一個主要類別,其名稱顯示在其子類別中。 要觀察這些子類別項目,可以使用“包含”,“不包含”,“開頭為”,“不開頭”,“結尾為”和“不結尾”來檢查主類別的名稱是否屬于所選項目。 如果此觀察應忽略主要類別項目,則必須創建一個附加條件以確保未選擇相應的項目。 此類條件必須通過“與”邏輯連接符進行連接。
要以編程方式創建這些條件,請使用以下代碼段:
Condition cdIsNotEconomyClassItem = new Condition(m_sffDropDownList, Condition.ComparisonOperators.IsNot, "Economy class", Condition.ItemComparisonFlags.SpecificItem); Condition cdContainsEconomyClassItem = new Condition(m_sffDropDownList, Condition.ComparisonOperators.Contains, "Economy class", Condition.ItemComparisonFlags.SpecificItem); Condition[] rcdConditions = new Condition[] { cdIsNotEconomyClassItem, cdContainsEconomyClassItem };從XL到XXXL的所有尺寸
與簡單的字符串比較類似,可以通過使用大于等于,大于等于,小于等于或小于等于運算符來定義范圍條件。 “大于”或“大于或等于”運算符可用于確定代表下閾值的項目。 “小于”或“小于或等于”運算符用于設置上限閾值項目。
以下示例顯示了如何檢查是否選擇了代表XL服裝尺寸之一的項目。 由于不存在以整數值大于“ X”值的字符開頭的項目,因此無需定義上限閾值條件。 但是,必須創建另一個條件,該條件不包括大小XS。 該條件由“與”邏輯連接詞連接。
要以編程方式創建這些條件,請使用以下代碼段:
' Create conditions Dim cdIsNotXS As Condition = New Condition(m_sffDropDownList, Condition.ComparisonOperators.[IsNot], "XS", Condition.ItemComparisonFlags.SpecificItem) Dim cdGreaterThanOrEqualXL As Condition = New Condition(m_sffDropDownList, Condition.ComparisonOperators.IsGreaterThanOrEqual, "XL", Condition.ItemComparisonFlags.SpecificItem) Dim rcdConditions As Condition() = New Condition() { cdIsNotXS, cdGreaterThanOrEqualXL }文字與太平洋州的項目相符
若要檢查顯示的文本是否代表SelectionFormField項之一,可以將Is或Is not運算符與相應的比較標志A列表項一起使用。
要以編程方式創建此條件,請使用以下代碼段:
' Create conditions Dim cdIsListItem As Condition = New Condition(m_sffComboBox, Condition.ComparisonOperators.[Is], Nothing, Condition.ItemComparisonFlags.AnyItem) Dim rcdConditions As Condition() = New Condition() { cdIsListItem }
文章推薦:
TX Text Control系列教程—Windows Forms:創建應用程序
如果您對Text Control感興趣,可以咨詢購買正版授權軟件。
關注慧聚IT微信公眾號 ???,了解產品的最新動態及最新資訊。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: