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

위의 코드 줄은 실행 된 창 크기가 작아 컨트롤이 보이지 않고 대신 내 양식을 닫습니다.높이를 변경할 때 보이지 않는 컨트롤

+0

try and catch 블록을 넣으십시오. 예외는 무엇입니까? –

+0

귀하의 질문에 양식이 닫히는 이유는 설명되어 있지 않지만 그 다음에는 float to int로 변환 할 수 없습니다. – Sayse

+0

양식에서 최소 높이를 설정하거나 if 블록에서 위의 행을 감싸서 양식을 사용할 수없는 높이로 축소하십시오. – Tim

답변

0

float.Parse(txtHeigth.Text))을 고려하면 가장 예외적으로 구문 분석 예외가 있습니다.

첫째 : 사용 TryParse(..)

둘째 : Culture항상를 지정합니다. 제공된 코드로부터 적어도 int에 후 float 텍스트를 변환의 sence 보이지 않는 :

var result = 0; 

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

Thhird

그래서 사용 방법 TryParse (실시 예). 원하는 대상 형식으로 즉시 변환하십시오 (예 : int).

관련 문제