私は何をしようとしているのかは明らかですが、わからない場合は質問してください。ListBoxで複数の項目が選択されているかどうかを確認するには
if (listBox1.SelectedIndex == 1 && 2)
{
label1.Text = "Sometext";
}
私は何をしようとしているのかは明らかですが、わからない場合は質問してください。ListBoxで複数の項目が選択されているかどうかを確認するには
if (listBox1.SelectedIndex == 1 && 2)
{
label1.Text = "Sometext";
}
SelectedIndicesは、複数選択を有効にした場合に必要なものです。 SelectedItemsプロパティのサイズを確認することもできます。
ListBox.SelectedIndexのドキュメントの状態:標準のリストボックスの場合
、あなたがリストボックスで選択されたアイテムのインデックスを決定するために、このプロパティを使用することができます。 ListBoxのSelectionModeプロパティがSelectionMode.MultiSimpleまたはSelectionMode.MultiExtended(複数選択ListBoxを示す)に設定され、複数の項目がリストで選択されている場合、このプロパティは選択した項目にインデックスを返します。
(あなたが最初の2つのオプションを選択しようとしているならば、あなたが0かどうかを確認したいと思うように制御が0基づいていることに注意してください。この
if(listBox1.SelectedItems.Count > 1)
{
// multiple items are selected
}
if (listBox1.SelectedIndices.Count > 1) // I'd use to group all of your multi-selection cases
{
if (listBox1.SelectedIndices.Contains(1) && listBox1.SelectedIndices.Contains(2))
{
label1.Text = "Sometext";
}
}
をお試しください項目1)および項目1(項目2)。
編集:コメントに記載された要件を処理するように修正されました。注目すべきは、おそらくより良い方法があり、この組み込みメソッド(複数選択リストボックスを使用したことはありません)があるかもしれません。しかし、処理する関数を作成したので、すべてのシナリオでそれを行う必要はありません。
private bool CasesFunction(ListBox lbItem, List<int> validIndices)
{
for (int index = 0; index < lbItem.Items.Count; index++)
{
if (lbItem.SelectedIndices.Contains(index) && !validIndices.Contains(index))
return false;
}
return true;
}
そして、私はそれを使用する方法:スタックオーバーフローへ
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (listBox1.SelectedIndices.Count > 1)
{
List<int> MyCase = new List<int> { 0, 1 };
if (CasesFunction(listBox1, MyCase))
{
label1.Text = "Sometext";
return;
}
else
label1.Text = "";
MyCase = new List<int> { 1, 2 }; // can do other checks
if (CasesFunction(listBox1, MyCase))
{
label1.Text = "Sometext 2";
return;
}
else
label1.Text = "";
}
else
label1.Text = listBox1.SelectedIndex.ToString();
}
ようこそ!作業を行い
機能残念ながら、ここで何をしようとしているのかは明らかではありません。選択したインデックスが1と2の両方であれば、ラベルを設定しますか?あなたはそれが達成しようとしていることをより精巧に説明できますか? – templatetypedef
リストボックスで複数の項目を選択すると、リストボックスのプロパティを変更したいと思います。 – Liger86