日期:2014-05-20  浏览次数:20715 次

奇怪真奇怪,(winform)listbox
(小弟初学winform)

我把一个user表内的userId和userName部分绑定到listbox:

listbox1.DataSource   =   datatable1.defaultview;
listbox1.DisplayMember   =   "userName ";
listbox1.ValueMember   =   "userId ";
                //winform里怎么不用   DataBind()?

绑定后显示正常,表内只有2行。

但当我想获取某行的userId时
int   i   =   Convert.ToInt64(listbox1.SelectValue);   //不知道这样获取对不对
源   userId   为   1   的值,到   i   那里竟然是个天文数字:

[INPUT]> >   messagebox.Show(i.ToString());
[OUTPUT]>   10798866

这是咋回事?

------解决方案--------------------
Int64的问题?楼主试试Int32?
------解决方案--------------------
Convert.ToInt64(listbox1.SelectValue);
不是listbox1.SelectIndex
你toint64的是值,而不是索引
------解决方案--------------------
你先试试看
listbox1.SelectValue.ToString()
看看它的值是什么