The Opening
event of the ContextMenuStrip
is likely what you are looking for:
Something like this will prevent it from showing up at all until you have a selected item.
private void contextMenuStrip1_Opening(object sender, CancelEventArgs e)
{
e.Cancel = this.listView2.SelectedItems.Count <= 0;
}