首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

winform双击ListView某行弹出窗体,关闭弹出窗体返回修改选中行的值解决思路

2012-05-29 
winform双击ListView某行弹出窗体,关闭弹出窗体返回修改选中行的值private void lvTags_DoubleClick(objec

winform双击ListView某行弹出窗体,关闭弹出窗体返回修改选中行的值
private void lvTags_DoubleClick(object sender, EventArgs e)
  {
  if (lvTags.Items.Count > 0)
  {
  TagsEditor myTags = new TagsEditor();
  int lvIndex = 0;
  foreach (ListViewItem viewItem in this.lvTags.Items)
  {
  if (viewItem.Selected)
  {
  myTags.TagName = viewItem.SubItems[0].Text;
  lvIndex = viewItem.ListView.SelectedIndices[0];

  }
  }
  if (myTags.ShowDialog() == DialogResult.OK)
  {
  lvTags.Items[lvIndex].Selected = true;
  lvTags.Items[lvIndex].SubItems[1].Text = myTags.StartHtml;
lvTags.Items[lvIndex].SubItems[2].Text = myTags.EndHtml; }
  }
   
  }

出现错误提示 InvalidArgument=“1”的值对于“index”无效!!!貌似是返回后没获取到选中行。请大大看看。

[解决办法]
Items[lvIndex].SubItems[1],这里有两个问题,lvIndex是不是越界,SubItems是否越界
[解决办法]
设个短点 DEBUG 走一下
[解决办法]
你先判断一下有没有修改,如果修改了,就重新加载就行了

热点排行