私は文字列 'item3'と 'item1、item2、item3、item4'を持つリストボックスを持っています。リストボックスでitem3を選択するにはどうすればいいですか?c#文字列に値の名前がある場合、リストボックス項目を選択するにはどうすればよいですか?
おかげ
私は文字列 'item3'と 'item1、item2、item3、item4'を持つリストボックスを持っています。リストボックスでitem3を選択するにはどうすればいいですか?c#文字列に値の名前がある場合、リストボックス項目を選択するにはどうすればよいですか?
おかげ
int index = listBox1.FindString("item3");
// Determine if a valid index is returned. Select the item if it is valid.
if (index != -1)
listBox1.SetSelected(index,true);
または、lb.SelectedIndex = lb.FindStringExact(fieldValue);を実行できます。 –
私は.SetSelected()関数を持っていないので、これらのどれも私のために働いていません...私はSystem.ControlsからListBoxを使用していて、それが異なっていることを発見しました.. –
は読み取り/書き込みSelectedValueのではないですか?
lstbox.selectedvalue = strItem;しかし、それは私にとってはうまくいかないようです。 –
このWinFormsまたはWebFormsですか? – Lazarus
listBox.FindStringExact("item3");
最初に見つかった項目のインデックスを返します。一致するものが見つからない場合はListBox.NoMatchesを返します。
あなたはその後、
は多分このように:
public bool SelectItem(ListBox listBox, string item)
{
bool contains = listBox.Items.Contains(item);
if (!contains)
return false;
listBox.SelectedItem = item;
return listBox.SelectedItems.Contains(item);
}
試験方法:
public void Test()
{
string item = "item1";
if (!SelectItem(listBox, item))
{
MessageBox.Show("Item not found.");
}
}
"Item not found" " –
+1であり、試験方法も提供する。良いプログラミングの習慣。 –
SelectedValueのは、あなたがリストボックスのためValueMemberで設定している場合にのみ動作します。
また、ValueMemberを設定しても、ListBox.Sorted = trueの場合、selectedValueは機能しません。
Setting selected item in a ListBox without looping
に私のポストをチェックしてくださいあなたは、これらのアプローチの1試すことができます。これは、すべてのリストボックスのための一般的な方法である
lb.SelectedValue = fieldValue;
lb.SelectedIndex = lb.FindStringExact(fieldValue);
を。実装は、リストボックスにバインドする内容に基づいて変更されます。私の場合、それはDataTableです。
private void SetSelectedIndex(ListBox lb, string value)
{
for (int i = 0; i < lb.Items.Count; i++)
{
DataRowView dr = lb.Items[i] as DataRowView;
if (dr["colName"].ToString() == value)
{
lb.SelectedIndices.Add(i);
break;
}
}
}
これは私が女の子を初めて見たときです。お会いできてよかったです。しかし、とにかく私のイニシエイトは何の誤りもないと指摘しています。あなたの答えは完全に正しいです(私はこれまでチェックしました)。 – prabhakaran
static class ControlHelper
{
public static void SelectExactMatch(this ComboBox c, string find)
{
c.SelectedIndex = c.FindStringExact(find, 0);
}
}
CheckBoxList.Items.FindByValue("Value").Selected = true;
SelectedValueのが動作しない場合、あなたはあなたのコードを投稿することができますか? – kemiller2002
WPFを使用していますか?私はSelectedValueがいくつかのコントロールでR/Wではないことを知っています。その場合は、WPFの質問にWPFとしてタグを付けることを忘れないでください。そうでない場合は無視してください;) –