1 c# events types listbox arraylist
我将ArrayList()绑定到Listbox控件,并为Array中的数据分配Displaymember和Value.我的问题是我在启动时绑定但是在几次函数调用后数组被填充.我在selectedIndexChanged上有代码来检查selectedValue但是如果ArrayList为空它返回一个对象,一旦它有数据就会返回我期望的字符串.我仍然感到困惑,为什么当列表没有数据时它运行selectedIndexChanged.认为它可能在我绑定Displaymember之后但在赋值之前运行:
lbCAT_USER.DataSource = USERS;
// Running here maybe?
lbCAT_USER.DisplayMember = "DisplayString";
// Or Here?
lbCAT_USER.ValueMember = "ID";
Run Code Online (Sandbox Code Playgroud)
无论哪种方式,我当前的解决方法是将SelectedValue与字符串进行比较并尝试重新运行该函数的try/catch.
简单的解决方法可能是在if语句之前检查数据类型的方法吗?任何建议的想法都可能非常有用.谢谢
Wil*_*ins 10
您有两种方法可以检查:
string value = list.SelectedValue as string;
// The cast will return null if selectedvalue was not a string.
if( value == null ) return;
//Logic goes here.
Run Code Online (Sandbox Code Playgroud)
如果你只是想做比较:
if( list.SelectedValue is string )
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12949 次 |
| 最近记录: |