无法投射Combobox.SelectedValue

mab*_*s44 2 .net c# casting exception-handling winforms

对于我正在尝试构建的简单练习问题,我的代码就像这样.我遇到过

无效的Cast异常.指定的演员表无效.

public Form1()
{
      Combobox1.Datasource = foo.bar.dataset.tables[0];
      Combobox1.DisplayMember = "Name";
      Combobox1.ValueMember = "ID";
 }

 private void ComboBox1_SelectedIndexChanged(object sender, EventArgs e)
 {
      NewClass P2 = new NewClass;
      P2.Filter.Id = (long)Combobox1.SelectedValue;
 }
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我为什么会发生这种情况以及如何解决它,即使我有类型的Combobox1.SelectedValue对象?

oop*_*ase 8

也许这会有所帮助:

P2.Filter.Id = Convert.ToInt64(Combobox1.SelectedValue);
Run Code Online (Sandbox Code Playgroud)

根据你的评论,这可能会有所帮助:

P2.Filter.Id = Convert.ToInt64((Combobox1.SelectedValue as DataRowView).Item[0]);
Run Code Online (Sandbox Code Playgroud)