本帖最后由 andy1020tc 于 2011-01-21 15:19:59 编辑

解决方案 »

  1.   

    直接用cboExpenseType.Text判断多省事
      

  2.   

    判断cboExpenseType.Text干什么啊?
    我想知道的是cboExpenseType.ValueMember 的值啊
      

  3.   

    问题是找不出哪里的问题啊  放在load事件里测试能看见值
      

  4.   

    单步看看cboExpenseType.SelectedValue
     (T)comboBox1.SelectedItem
      

  5.   

    貌似你没认真看我的提问 
    我说了 我把MessageBox.Show(cboExpenseType.SelectedValue.ToString())放在LOAD事件里有值
    值是正常的1 2 3
    说明了 已经默认选择了一项
      

  6.   

    来自MSDN
    Convert.ToInt32 方法 此 API 支持 .NET Framework 基础结构,不适合在代码中直接使用。Int32.TryParse 方法 将数字的字符串表示形式转换为它的等效 32 位有符号整数。一个指示操作是否成功的返回值。 
      

  7.   


    int x;
    if(cboExpenseType.SelectedValue is int)
    {
      x = Convert.ToInt32(cboExpenseType.SelectedValue);
    }
    else
    {
    //...
    }
      

  8.   

    主要问题不是这里 
    我将MessageBox.Show(cboExpenseType.SelectedValue.ToString())放在LOAD事件里有值
    值是正常的1 2 3
    放在cboExpenseType_SelectedIndexChanged里就会先弹出CommunityManage.Expense “CommunityManage是我的项目名 Expense是我实体层中的一个对象”
    然后我再操作cbo 就属于正常状态了 
      

  9.   

    放到cboExpenseType_SelectedValueChanged里试试。
      

  10.   

    comboBox1.SelectedItem as Expense
      

  11.   

    一样 测试弹出的还是CommunityManageModels.Expense 
    为什么会这样 怎么都想不明白
      

  12.   

    不太明白!~
    我是想得到cboExpenseType.SelectedValue的值
    可是报错 然后我就才用messageBox来测试的
      

  13.   

    我告诉你,我也碰到这个问题,你就这样。先判断下CMB的值是不是数字,是的话在去执行所要的操作,不是的话就不用出来了。
      

  14.   

    你的意思是让我判断selectedValue的值 是数字的话就才 执行后续操作 是吧