有个listView1
 private void listView1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (listView1.SelectedItems.Count != 0)
           //这里的代码功能是不让listView1_SelectedIndexChanged触发,但是不要修改listView1_SelectedIndexChanged事件,
            //该事件已经在其它地方绑定了执行方法。
             
        }
如何做到?

解决方案 »

  1.   

    return;
      
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) 
    http://feiyun0112.cnblogs.com/
      

  2.   

    不明白你的意思,你是如果符合条件的,那以后都不再执行listView1_SelectedIndexChanged方法吗?那直接就将listView1.AutoPostBack = false;
      

  3.   

    据说可以用ajax,不过我也不会用ajax
      

  4.   

    //问题是这样的,执行下面的代码后出现了两个问题
    //一:每次选择listView1中的每一项时都是出现Not found提示,为什么? 
    //二:第一次点击listView1中的一项时只出现一次提示,再点击另一项时会出现两次提示,即引发了两次Example_SelectedindexChanged事件,为什么?
    //有位达人告诉我这是 listView1机制,让我用listView1.SelectedItems.Count == 0判断,再引发change事件。我不知道这样写对不对。但是return
    //好像没效果。 所有代码都贴出来了 。谢谢using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Xml;
    using System.Data.SqlClient;
    using System.IO;namespace xml_ADO.net
    {
        public partial class Form1 : Form
        {
            private XmlDocument doc = new XmlDocument();
            public Form1()
            {
                InitializeComponent();
            }        private void button1_Click(object sender, EventArgs e)
            {
                listView1.SelectedIndexChanged += new EventHandler(Example_SelectedindexChanged );
                DataSet ds = new DataSet("XMLAuthors");
                SqlConnection conn = new SqlConnection("server=(local); integrated security=SSPI;database=Northwind");
                SqlDataAdapter da = new SqlDataAdapter("select * from categories ",conn );
                MemoryStream memstrm = new MemoryStream();
                StreamReader strmRead = new StreamReader(memstrm );
                StreamWriter strmWrite = new StreamWriter(memstrm );
                da.Fill(ds,"Authors");
                dataGridView1.DataSource = ds.Tables[0];
                ds.WriteXml(strmWrite ,XmlWriteMode.IgnoreSchema );
                memstrm.Seek(0, SeekOrigin.Begin);
                doc.Load(strmRead);
                doc.Save("mm.xml");
                XmlNodeList nodelst = doc.SelectNodes("//CategoryName");
                foreach (XmlNode nd in nodelst)
                    listView1.Items.Add(nd.InnerText );
            }
            private void Example_SelectedindexChanged(object sender, EventArgs e)
            {
                if (listView1.SelectedItems.Count == 0)
                {
                    string srch = "XMLAuthors/Authors[CategoryName= '" + listView1.SelectedItems[0].ToString() + "'" + "]";
                    XmlNode foundNode = doc.SelectSingleNode(srch);
                    if (foundNode != null)
                        MessageBox.Show(foundNode.OuterXml);
                    else
                        MessageBox.Show("Not found");            }
            }        private void listView1_SelectedIndexChanged(object sender, EventArgs e)
            {
               
                 
            }
        }
    }
      

  5.   

    private int iLastSelectIndex = -1;
    private void Example_SelectedindexChanged(object sender, EventArgs e) 
            {
                if (listView1.SelectedItems.Count>0 && listView1.SelectedItems[0].Index != iLastSelectIndex)
                {
                    iLastSelectIndex = listView1.SelectedItems[0].Index;
                    string srch = "XMLAuthors/Authors[CategoryName= '" + listView1.SelectedItems[0].ToString() + "'" + "]"; 
                    XmlNode foundNode = doc.SelectSingleNode(srch); 
                    if (foundNode != null) 
                        MessageBox.Show(foundNode.OuterXml); 
                    else 
                        MessageBox.Show("Not found");             }
            } 
      

  6.   

    web 吗?
    用jsfunction checklistView1_Selected()
    {
       var drop = document.getElementById('listView1');   if(drop.selectedIndex == 0)
       {
           return false;
       }
       else
       {
           return true;
       }
    }
    后台load事件里面添加listView1.Attritubes.Add("onchange"," return checklistView1()");
      

  7.   

    如果不符合执行条件就:listView1.SelectedIndexChanged-=......符合就:listView1.SelectedIndexChanged+=......这是动态绑定event 执行方法