0

WindowsMo ​​bileのlistViewにアイテムを追加および削除しています。「listView1_SelectedIndexChanged」関数を使用しています。この関数は、最後に押したときとは異なる行インデックスを押した場合にのみ呼び出されます。「listView1.FocusedItem.Index」変数を変更する方法はありますか(無効な値などを指定します)。これにより、リスト内のアイテムを押すたびに、新しい場合だけでなく、関数が呼び出されます。索引?ありがとう!!!

4

1 に答える 1

0

使用している Windows Mobile のバージョンは何ですか? すべてのバージョンが同じものをサポートしているわけではありません。

実際には、 ListViewコントロールからのみFocusedItemを読み取ることができます。

ListViewItemItemActivateまたはGotFocusに作用して、どちらがニーズに適していますか?

[注: 上記のリンクにはすべてサンプル コードが含まれています]

ListView listView1;

private void init_listView1() {
  listView1.ItemActivate += new EventHandler(listView_Focus);
  listView1.GotFocus += new EventHandler(listView_Focus);
}

private void listView_Focus(object sender, EventArgs e) {
  int index = -1;
  if ((listView1.SelectedIndices != null) && (0 < listView1.SelectedIndices.Count)) {
    index = listView1.SelectedIndices[0];
    ListViewItem item = listView1.Items[index];
  } else {
    if (0 < listView1.Items.Count) {
      index = 0;
    }
  }
  if (-1 < index) {
    listView1.Items[index].Focused = true;
  }
}
于 2012-07-03T15:43:20.050 に答える