c# - 如何根据C#中的数字上下值从文本框中删除字符?
问题描述
我有这两个领域:
加载时 - 默认值为 4。
我的目标是根据选择的数字来投射产品代码文本框。
例子
从上面的示例中,这应该是输出:
如果我将它设置为 2 它应该是这样的:
我试过的:
private void numericUpDown1_ValueChanged(object sender, EventArgs e)
{
productCode.Text = (productCode.Text.Substring(0, productCode.Text.Length - numericUpDown1.Value));
}
错误
Cannot convert from decimal to int
还...
我已经对此进行了测试:
productCode.Text = (productCode.Text.Substring(0, productCode.Text.Length - 4));
如果我多次应用它,它会让我出错:
An unhandled exception of type 'System.ArgumentOutOfRangeException' occurred in mscorlib.dll
Additional information: Length cannot be less than zero.
问题
实现这一目标的正确方法是什么?
解决方案
看看你的例子,我认为这是一种方法:
private string originalProductCode = "0001050OL"; //Set this if productcode changes
private void numericUpDown1_ValueChanged(object sender, EventArgs e)
{
productCode.Text = (originalProductCode.Substring(0, (int)numericUpDown1.Value));
}