【发布时间】:2018-01-24 19:44:10
【问题描述】:
尝试在 Visual Studio 中打开我的一个窗口窗体时,我在页面加载之前收到此消息框:“输入字符串的格式不正确”。在该消息框上单击“确定”后,我的页面将正确打开,并且没有显示任何错误。
在我正在加载的窗口窗体上,我有一个 ComboBox 和一个 CheckedListBox,我从 Sql Server 的数据表中获取信息。
问题可能是我在方法中进行的转换吗?如果是这样,如何更改它们以使消息框不再出现。我读过 try parse 会更好,但我不确定如何在这里应用它。
void CheckList_Bikes()
{
int idcl = Convert.ToInt32(client.SelectedValue.ToString());
com.Parameters.Clear();
com.Parameters.AddWithValue("@idclient", idcl);
adaptb.Fill(biciT);
bikes.Items.Clear();
bikes.DataSource = biciT;
bikes.ValueMember = "ID";
bikes.DisplayMember = "name";
}
private void client_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
int idcl = Convert.ToInt32(client.SelectedValue.ToString());
com.Parameters.Clear();
com.Parameters.AddWithValue("@idclient", idcl);
bikes.Clear();
adaptb.Fill(biciT);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
【问题讨论】:
-
可能是这样的:
client.SelectedValue.ToString()也许看看是否选择了任何东西,然后执行该方法。没有选择 = 什么都不做 -
如果您在调试模式下运行代码。您将确定您的问题。
-
是
client你的ComboBox吗?你什么时候用数据库中的值填充它们? -
是的,客户端是 ComboBox。
-
您是否调试过代码,该错误意味着您尝试从中解析整数的字符串实际上不包含有效整数。尝试 Int.Parse 或 int.tryParse
标签: c# visual-studio