4

データソース(値とID)で埋められたコンボボックスがあります

comboBox_Degree.DataSource = ds.Tables["Field"];`
comboBox_Degree.DisplayMember = "Field_Degree";
comboBox_Degree.ValueMember = "Field_ID";

SelectedIndexChanged イベントが発生したときに ID を取得したいと考えています。しかし、intにキャストすると、このようなエラーが発生します。

int fid = Convert.ToInt32(comboBox_Degree.SelectedValue.ToString());

エラー:

入力文字列は、正しい形式ではありませんでした。

この値を整数にキャストするにはどうすればよいですか?

4

5 に答える 5

8

これを使って:

int fid;
bool parseOK = Int32.TryParse(comboBox_Degree.SelectedValue.ToString(), out fid);
于 2013-11-13T21:08:40.870 に答える
5

私は通常、次のようなことをします

int fid=0;
try {
     fid=int.Parse(comboBox_Degree.SelectedValue.ToString());
    } catch (Exception e)
    {
     //Whatever you want to do when it is not an int
    }
于 2013-11-13T21:04:34.083 に答える