0

リストビューから選択したアイテムを取得したいのですが、これを行う機能が既にあるため、クリックすることはできません。これを行うには、上矢印と下矢印を使用します。

すでにメソッドを取得していますが、例外がスローされます。これをリファクタリングするのに役立つ人はいますか? これが以下の方法です

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;
        }
    }
}
4

2 に答える 2

1

これは私が望むことをするようです。

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();
        }
    }
}
于 2013-02-18T10:09:46.620 に答える