List View Selected Index Changed in a multi-selectable list view
<p>I have a windows form with a listview control. I set the MultiSelect property to true and I added a selected_index changed event.</p>

<p>I get the event fired when I click the same index as the current selected index.
My expectation is that I will not get the event fired. The strange thing is that the event fired 1 second after I click the index.</p>

<p>I appreciate for any reply to explain why this is happening.</p>

<p>Edited:</p>

<p>Sample Code:</p>

<pre><code>private void Form1_Load(object sender, EventArgs e)
{
    listView1.View = View.Details;
    listView1.MultiSelect = true;
    listView1.FullRowSelect = true;

    listView1.Columns.Add("Number");
    listView1.Items.Add("1");
    listView1.Items.Add("2");
    listView1.Items.Add("3");
    listView1.Items.Add("4");
}
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
    if (listView1.SelectedItems.Count &gt; 0)
    {
        MessageBox.Show("Selected Index Changed event fired: ");
    }
}
</code></pre>

<p>Follow these steps to see the problem:</p>

<ol>
<li><p>Try to select one item, for instance: select number 3</p>

<p>expected result: listview1_SelectedIndexChanged is fired</p>

<p>Result: It is fired.</p></li>
<li><p>Try to click the number 3 again.</p>

<p>expected result: listview1_SelectedIndexChanged is NOT fired</p>

<p>Result: It is fired with one second delay.</p></li>
</ol>
