2013-07-05 39 views
-4
int Height=Convert.ToInt32(float.Parse(txtHeight.Text)) 

上面的代碼行被執行窗口縮小到小尺寸和控件不可見,而是它導致我的窗體關閉。更改高度時隱藏控件

+0

試一試catch塊,有什麼例外? –

+0

你的問題沒有解釋爲什麼你的表單會關閉,但是我無法理解轉換爲浮動到int – Sayse

+0

在表單中設置一個最小高度,或者將上面的行包裝在一個if塊中以確保它不會將表格縮小到無法使用的高度。 – Tim

回答

0

考慮到float.Parse(txtHeigth.Text)),最有可能存在解析異常。

第一:使用TryParse(..)

二:指定Culture總是

因此,使用方法TryParse(實施例)

var result = 0; 

if(float.TryParse(txtHeight.Text, 
       NumberStyles.Any, CultureInfo.InvariantCulture, out result)) { 
    //Conversion succeed 
} 

Thhird:在從所提供的代碼至少,看不到的第一將文本轉換爲float,和一個SENCEint。立即將其轉換爲所需的目標格式,所以int