【问题标题】:Controls invisible when changing height更改高度时控件不可见
【发布时间】:2013-07-05 11:44:53
【问题描述】:
int Height=Convert.ToInt32(float.Parse(txtHeight.Text)) 

执行上述代码行时,窗口窗体缩小到小尺寸并且控件不可见,而是导致我的窗体关闭。

【问题讨论】:

  • 放一个try and catch块,有什么异常?
  • 您的问题没有解释为什么您的表单会关闭,但是我也无法理解转换为 float 到 int 的原因
  • 在表单中设置一个最小高度或将上面的行包裹在一个 if 块中,以确保它不会将表单缩小到无法使用的高度。
  • 我无法理解这个问题。
  • @santhosh kumar vadlamani ,这是 krishna kishore ......你有解决方案吗?

标签: c# windows-applications


【解决方案1】:

考虑到float.Parse(txtHeigth.Text)),很可能存在解析异常。

首先:使用TryParse(..)

第二个:指定Culture总是

所以使用方法TryParse(示例)

var result = 0; 

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

第三:至少从提供的代码来看,没有看到首先将文本转换为float之后转换为int。立即将其转换为所需的目标格式,因此int

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-09
    • 2017-02-28
    • 2014-10-14
    • 1970-01-01
    相关资源
    最近更新 更多