C#无法更改用户控件的{name}属性

时间:2014-01-12 09:41:44

标签: c# winforms

当我尝试更改表单上用户控件的{name}属性时,会出现以下错误:

enter image description here

这是“ddlPriority”用户控件上的“selectedVal”属性 enter image description here

这是ddlPriority_Load函数

  Scheduler.DAL.TableClass.Priority pri = new Scheduler.DAL.TableClass.Priority();
            combxPriority.DataSource = pri.selectPriorities();
            combxPriority.DisplayMember = "name";
            combxPriority.ValueMember = "PriorityID";
            Scheduler.DAL.TableClass.Settings set = new Scheduler.DAL.TableClass.Settings();
            if (set.thisTable != null)
                combxPriority.SelectedValue = set.thisTable.DefaultPriorityID;

ddlPriority用户控件只是一个组合框。

我该如何解决这个问题?


编辑:

以下是selectPriorities方法:

properties.cs

public static string DBConnection = ConfigurationSettings.AppSettings["DB_Connection"];

Priority.cs

public DataTable selectPriorities()
        {
            SqlConnection con = new SqlConnection(properties.DBConnection);
            con.Open();
            string sqlQuery = "select name, PriorityID from Priority";
            DataTable dt = new DataTable();
            SqlCommand cmd = new SqlCommand(sqlQuery, con);
            SqlDataReader read = cmd.ExecuteNonQuery();
            dt.Load(read);
            read.Close();
            con.Close();
            return dt;
        }

1 个答案:

答案 0 :(得分:1)

看起来combxPriority.SelectedValuenull(未选择任何行),以及combxPriority.SelectedValue.ToString()抛出异常的原因。 在访问它之前,您必须确保combxPriority.SelectedValue不为空。