我有一个文本框,它的值是自然正数,因为我在做了一些计算之后从另一个文本框生成它并且我的文本框保存结果肯定是数字,当我尝试将值转换为整数时它总是给出0,而文本框保持一个大于0的值,而不是null
我在这里尝试了两种转换方法msdn
我也尝试了TryParse
这里建立的MessageBox.Show(updateProductTQ.Text, "Quantity");
p.ProductQuantity = int.Parse(updateProductTQ.Text);
MessageBox.Show(p.ProductQuantity.ToString(), "Quantity");
方法
我创建2个断点,以在转换文本后查看文本框文本和整数值的结果
这是我的代码:
updateProductTQ
p.ProductQuantity
是我的文本框名称,MessageBox
是整数
第一个200
输出是现在文本框MessageBox
中显示的数字
第二个ProductQuantity
输出为大0
有人可以告诉我为什么我会得到0 ??? 我尝试转换另一个文本框保持号码,它工作正常,这是非常奇怪的事情
这是我的public int ProductQuantity
{
get
{
if (ProductCartoons >= 0)
{
if (ProductBigBox > 0 && ProductSmallBox > 0 && ProductMedBox > 0 && ProductItems >= 0)
{
_ProdQuan = ProductCartoons * ProductBigBox * ProductMedBox * ProductSmallBox * ProductItems;
}
else
if (ProductBigBox > 0 && ProductMedBox > 0 && ProductItems >= 0)
{
_ProdQuan = ProductCartoons * ProductBigBox * ProductMedBox * ProductItems;
}
else
if (ProductBigBox>0 && ProductSmallBox > 0 && ProductItems >= 0)
{
_ProdQuan = ProductCartoons * ProductBigBox * ProductSmallBox * ProductItems;
}
else
if (ProductMedBox > 0 && ProductSmallBox > 0 && ProductItems >= 0)
{
_ProdQuan = ProductCartoons * ProductMedBox * ProductSmallBox * ProductItems;
}
else
if (ProductBigBox>0 && ProductItems >= 0)
{
_ProdQuan = ProductCartoons * ProductBigBox * ProductItems;
}
else
if (ProductMedBox > 0 && ProductItems >= 0)
{
_ProdQuan = ProductCartoons * ProductMedBox * ProductItems;
}
else
if (ProductSmallBox > 0 && ProductItems >= 0)
{
_ProdQuan = ProductCartoons * ProductSmallBox * ProductItems;
}
else
if (ProductItems >= 0)
{
_ProdQuan = ProductCartoons * ProductItems;
}
}
return _ProdQuan;
}
set { _ProdQuan = value; }
}
定义:
public int ProductCartoons
{
get { return _Cartoons; }
set
{
_Cartoons = value;
RaisePropertyChangedEvent("ProductQuantity");
}
}
public int ProductBigBox
{
get { return _BigBox; }
set
{
_BigBox = value;
RaisePropertyChangedEvent("ProductQuantity");
}
}
public int ProductMedBox
{
get { return _MedBox; }
set
{
_MedBox = value;
RaisePropertyChangedEvent("ProductQuantity");
}
}
public int ProductSmallBox
{
get { return _SmallBox; }
set
{
_SmallBox = value;
RaisePropertyChangedEvent("ProductQuantity");
}
}
public int ProductItems
{
get { return _Items; }
set
{
_Items = value;
RaisePropertyChangedEvent("ProductQuantity");
}
}
并且由这些文本框引发的所有文本框都通过绑定完成,并且运行良好:
{{1}}
答案 0 :(得分:0)
你知道原因,如果你注意到ProductQuantity
定义它的值(在getter中)取决于ProductCartoons
,如果这个值是0
你总是得到0
} ProductQuantity
。
我建议使用调试器并逐步查看在这种情况下导致0
的原因。