2013-02-22 51 views
1

我在form上有labeltextboxbutton。我想添加幾天到當前的日期/時間。天數的值連接到textbox,而datetime顯示在label上。我如何在標籤中顯示日期時間

Double ce = Convert.ToDouble(textBox1.Text) 
DateTime cs = DateTime.Now.AddDays(ce) 

但它會拋出一個輸入錯誤的錯誤。

+0

你得到哪些錯誤的? – MatthiasG 2013-02-22 16:21:52

+0

你會得到什麼錯誤? – 2013-02-22 16:22:29

+0

你確定textBox1中的文本可以轉換爲雙精度嗎? – Ric 2013-02-22 16:22:32

回答

2

如果您使用TryParse您可以檢查字符串中的值是否可以轉換。如果不是,你可以通知用戶出了問題。

Double days = 0; 
DateTime cs= DateTime.Now; 
bool daysOk = Double.TryParse(textbox1.Text, out days); 
if (daysOk) 
{ 
    cs = cs.AddDays(days); 
} 
else 
{ 
    textbox1.Text = "invalid days"; 
} 
1

編輯*新增解析代替的TryParse顯示錯誤,而不是添加0天

 try 
     { 
      double days = double.Parse(textBox1.Text); 
      label1.Text = DateTime.Now.AddDays(days).ToLongDateString(); 
     } 
     catch (Exception ex) { MessageBox.Show(ex.Message, "error"); } 
+0

仍然會失敗,如果'textbox1.Text'不能轉換爲雙重 – 2013-02-22 16:27:05

+0

@Sam好吧,要麼他想要一個錯誤,並使用解析,或添加0天,如果它的錯誤和使用tryparse,無論如何編輯答案 – 2013-02-22 16:32:58