2017-07-21 13 views
0

私は同期しようとしています。 2つの複数選択リストボックスのselectedIndex。コードを有効に単一選択で だけです:同期。 2つのマルチセレクションのリストボックスのSelectedIndex

private void libHT_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     libMonth.SelectedIndex = libHT.SelectedIndex; 
    } 

をしかし、複数選択が有効になっている場合、これは動作しません。 私を助けることができますか? forまたはforeachを使用する必要がありますか?

ありがとうございました。 Thomas

答えて

0

SelectedIndicesプロパティがあります。

private void libHT_SelectedIndexChanged(object sender, EventArgs e) 
{ 
     libMonth.SelectedIndices.Clear(); 
     foreach (var index in libHT.SelectedIndices.Cast<int>()) 
     { 
      libMonth.SelectedIndices.Add(index); 
     } 
} 

+1

ありがとう、これはうまくいきます:) – Morris

0

はい、あなたはすべての選択をループする必要がありますことを試してみてください。以下のようなコードを忘れてはいけないこと

private void libHT_SelectedIndexChanged(object sender, EventArgs e) { 
    libMonth.SelectedIndices.Clear(); 
    foreach (int indx in libHT.SelectedIndices) 
     libMonth.SelectedIndices.Add(indx); 
} 

のお手伝いをすることができます:

  1. をインデックスをフックするイベントを変更:libHT.SelectedIndexChanged += libHT_SelectedIndexChanged;
  2. 気を付けるように正しくlibHT.SelectionMode = libMonth.SelectionMode = SelectionMode.MultiExtended;
  3. を選択モードを設定するにはあなたのプログラムによる選択のために、無限の再帰を引き起こします。
関連する問題