2016-12-03 61 views
0

我想驗證用戶輸入的文本框,例如,如果執行任何代碼驗證時間跨度

private void MtoCbutton_Click(object sender, EventArgs e) 
    { 
     if (TimeSpan.TryParse(minTosecTextBox.Text, out minutes)) 
     { 

      var Minute = TimeSpan.ParseExact(minTosecTextBox.Text, @"mm\.ss", System.Globalization.CultureInfo.InvariantCulture); 
      resultSectextBoxtextBox.Text = Minute.TotalSeconds.ToString(); 
     } 

     else 
     { 

      MessageBox.Show("Please enter Minutes in correct format"); 
     } 
    } 
+0

什麼時候你想拋出異常wh恩是'int'或不'int'? – vendettamit

+0

我想要00.00的時間跨度格式,如果其他任何字符串或整數或任何其他我會顯示messgebox –

+0

@MMobeenKhan我知道這是關係到你的其他問題。老實說,大家都使得它太複雜了。再次看到我的答案,我添加了代碼,它會完成你想要的[這裏](http://stackoverflow.com/questions/40952730/timespan-conversion/40952783#40952783) – CodingYoshi

回答

0

你可以前的INT拋出錯誤信息使用Regex.IsMatch()方法來驗證字符串格式:

if(!Regex.IsMatch(minTosecTextBox.Text, @"\d{2}\.\d{2}")) 
{ 
    throw new ArgumentException("Input is not in correct format"); 
} 
+0

正則表達式不存在 –

+0

添加'using System.Text.RegularExpressions;' – vendettamit

+0

解決謝謝 –

0

使用TimeSpan.TryParseExact,而不是TimeSpan.TryParse

TimeSpan.TryParseExact(minTosecTextBox.Text, @"mm\.ss", CultureInfo.CurrentCulture, out minutes);