我有一个包含多个TextBoxNumericUpDownDateTimePicker的表单。我想以编程方式获取此控件的所有值,并将它们插入到SQL Server数据库中

我尝试了这段代码

 foreach (Control contrl in this.Controls)
 {
     if (contrl.Name != "")
     {
           vv.Add(contrl.Text);
           //MessageBox.Show(contrl.Name);
     }

}


它为我提供了TextBoxNumericUpDown的正确值,而不是DateTimePicker

最佳答案

DateTimePickerNumericUpDown使用Value属性获取内容,TextBox使用Text属性。

所以你需要检查每个控件的类型

foreach (Control contrl in this.Controls)
{
    if (contrl.Name != "")
    {
         if(contrl is TextBox)
            vv.Add(((TextBox)contrl).Text);
         else if(contrl is DateTimePicker)
            vv.Add(((DateTimePicker)contrl).Value);
         else if(contrl is NumericUpDown)
            vv.Add(((NumericUpDown)contrl).Value);
    }

}

关于c# - C#循环并以编程方式获取所有datetimepicker的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30025182/

10-12 13:56