这是我的表结构2列率图表和数量:
rate chart qty
1 -5 1
6 -10 2
11 -20 3
我在Windows窗体上有3个字段
我通过组合框获取了ratechart列值,我有那个代码,但我的要求是如果用户从组合框中选择1-5,那么文本框中他不能在文本框中输入超过6个。
如果用户从组合框中选择6-10,那么他在文本框中输入的数量不能超过12
当他点击保存按钮时,他得到的错误是数量更多......
提前thx。请帮我这个代码答案 0 :(得分:0)
假设cmbRateChart.SelectedValue
包含关于RangeChart的数值。
private void textBox_Validating(object sender, CancelEventArgs e)
{
bool cancel = false;
int number = -1;
if (int.TryParse(this.textBox.Text, out number))
{
var validRange = Convert.ToInt32(cmbRateChart.SelectedValue) * 6;
if (number <= validRange)
cancel = false; //passed validation.
else
cancel = true; //failed validation, number is not in valid range
}
else
cancel = true;//failed validation: text box is not a number
e.Cancel = cancel;
}
用法:调用此函数检查验证。
this.ValidateChildren(ValidationConstraints.Enabled);
答案 1 :(得分:0)
private void saveButton_Click(object sender, EventArgs e)
{
// Get value from textBox
int number = Int32.Parse(textBox1.Text);
// Get value from combobox
int selcetedComboValue = Int32.Parse(comboBox1.SelectedItem.ToString());
// Validate Values
if (selcetedComboValue <= 5)
{
if (number <= 6)
{
// Valid Number
}
else
{
// Invalid Number
}
}
else if (selcetedComboValue <= 10)
{
if (number <= 12)
{
// Valid Number
}
else
{
// Invalid Number
}
}
}