<p>I have a ListView control, and I'm trying to figure out the easiest/best way to disallow changing the selected row(s), without <em>hiding</em> the selected row(s).</p>

<p>I know there's a <code>HideSelection</code> property, but that only works when the <code>ListView</code> is still enabled (but not focused). I need the selection to be viewable even when the ListView is disabled.</p>

<p>How can I implement this?</p>

[{'answer_id': 14068, 'author': 'Nick Berardi', 'author_id': 17, 'author_profile': 'https://Stackoverflow.com/users/17', 'pm_score': 1, 'selected': False, 'text': '<p>There are two options, change the selected rows disabled colors.  Or change all the other rows to simulate they are disabled except for the selected one.  The first option is obviously the easiest, and the second option obviously is going to need some extra protections.  </p>\n\n<p>I have actually done the first option before and it works quite well.  You just have to remember to change the colors back to the defaults in case another row is selected later on in the process.</p>\n'}, {'answer_id': 40687, 'author': 'Peter Hession', 'author_id': 441, 'author_profile': 'https://Stackoverflow.com/users/441', 'pm_score': 3, 'selected': True, 'text': "<p>You could also make the ListView ownerdraw. You then have complete control over how the items look whether they are selected or not or whether the ListView itself is enabled or not. The DrawListViewItemEventArgs provides a way to ask the ListView to draw individual parts of the item so you only have to draw the bits you're interested in. For example, you can draw the background of the item but leave it up to the ListView to draw the text.</p>\n"}, {'answer_id': 1090706, 'author': 'Mugunth', 'author_id': 90165, 'author_profile': 'https://Stackoverflow.com/users/90165', 'pm_score': 0, 'selected': False, 'text': '<p>Implement SelectedIndexChanged and do this</p>\n\n<pre><code>    private void listViewABC_SelectedIndexChanged(object sender, EventArgs e)\n    {\n        listViewABC.SelectedItems.Clear();\n    }\n</code></pre>\n'}]
['https://Stackoverflow.com/questions/14029', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/369/']