I wish to get the selected item from a listview, but not by clicking on it as i already have a function that does this. I will like to use my up and down arrow to do this.
I have already got a method but it throws an exception, can anyone help to refactor this? here is the method below
private void lvViewFile_KeyDown(object sender, KeyEventArgs e)
{
ListView lvTemp = (ListView)sender;
if (e.KeyCode == Keys.Up)
{
if (lvTemp.Focused == true)
{
var selected = this.lvCategory.SelectedItems[0].Focused;
}
}
else if (e.KeyCode == Keys.Down)
{
if (lvTemp.Focused == true)
{
var selected = this.lvCategory.SelectedItems[0].Focused;
}
}
}
This seems to do just what i want.
if (e.KeyCode == Keys.Up)
{
if (lvTemp.Focused == true)
{
var selected = lvTemp.FocusedItem.Index;
if (selected.Equals(0))
{
enableMoveDown();
}
else if (selected.Equals(lvCategory.Items.Count - 1))
{
enableMoveUp();
}
else
{
enableMoveUpMoveDown();
}
}
}
else if (e.KeyCode == Keys.Down)
{
if (lvTemp.Focused == true)
{
var selected = lvTemp.FocusedItem.Index;
if (selected.Equals(0))
{
enableMoveDown();
}
else if (selected.Equals(lvCategory.Items.Count - 1))
{
enableMoveUp();
}
else
{
enableMoveUpMoveDown();
}
}
}