1
我有一个项目列表视图,其中用户一次只能选择一个。我有下面的代码,只有当我把它放在try/catch块中才能正常工作。问题是,某些项目名称太长,并且会为其他项目产生大量空白区域。点击空格将导致ArgumentOutOfRangeException
,即使它与某个项目位于同一行。我通过将它放在try/catch块中解决了这个问题,但我认为这是一种肮脏的方法,即使它可行。以下是代码。ListView项目选择和异常处理
private void listView1_DoubleClick(object sender, EventArgs e)
{
try
{
string[] arr1 = File.ReadAllLines(listView1.SelectedItems[0].Tag.ToString());
string[] arr2 = arr1[0].Split(';');
}
catch
{
//no catch
}
}
我想完全避免这种情况,但我不知道如何更改代码,使其没有的try/catch工作。我试过if(!String.IsNullOrEmpty)
,但它仍然不起作用。这里有什么解决方案?
当您应该测试listView1.SelectedItems.Count时不要使用try!这是一个正常的情况。也不要把这么多的命令堆成一行;难以调试,并在添加检查的方式.. – TaW
底层的问题是,虽然,我想使用户总是选择该项目所在的行,无论他点击,名称或空白处。 – EInherjar
是的,的确如此,但我的建议仍然适用!你使用哪种视图模式? – TaW