C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: C# ListBoxに表示されている項目を自動的に選択したい


(過去ログ 106 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■63434 / inTopicNo.1)  C# ListBoxに表示されている項目を自動的に選択したい
  
□投稿者/ sollalice (1回)-(2012/08/24(Fri) 11:35:54)

分類:[C#] 

Win7Pro(x64) VisualStudio2010

1行のリストボックスで見えている項目を自動で選択する方法はないでしょうか?
現状、リストで選択したい項目を表示後、項目をクリックという状態なのですが、
この項目をクリックしなくても、表示されている項目が自動で選択されるように
したいのですが・・・。
引用返信 編集キー/
■63435 / inTopicNo.2)  Re[1]: C# ListBoxに表示されている項目を自動的に選択したい
□投稿者/ 魔界の仮面弁士 (37回)-(2012/08/24(Fri) 12:50:06)
No63434 (sollalice さん) に返信
■No63434 (sollalice さん) に返信
> 1行のリストボックスで見えている項目を自動で選択する方法はないでしょうか?
これは WinForm の話でしょうか。ASP.NET や WPF ではなく。

「1行のリストボックス」というのは、DropDownList な ComboBox のこと…ではなく、
ListBox の Items に 1 アイテムのみ登録されている状態のことでしょうか。
それとも、「縦方向が狭く、1 アイテムのみ表示できる高さの ListBox」でしょうか。
あるいは、「1 行しか選択できない ListBox(SelectionMode = One)」の事でしょうか。


1 アイテムのみの ListBox の話であれば、
 //listBox1.SelectedIndex = 0;
 listBox1.SelectedIndex = listBox1.Items.Count > 0 ? 0 : -1;
のようにすれば、その単一アイテムが選択状態となりますし、
1 行分の高さしかない ListBox で、今見えている項目の事ならば、
 listBox1.SelectedIndex = listBox1.TopIndex;
などと書くことが出来ます。


ちなみに、複数行選択可能な ListBox で全項目を選択状態にするなら
  listBox1.BeginUpdate();
  //listBox1.ClearSelected();
  for (int i = 0; i < listBox1.Items.Count; i++)
  {
      listBox1.SetSelected(i, true);
  }
  listBox1.EndUpdate();
などと記述できます。


> 現状、リストで選択したい項目を表示後、項目をクリックという状態なのですが、
1 行分の高さしかない ListBox なのであれば、
ComboBox や DomainUpDown で代用するという手もあります。

引用返信 編集キー/
■63436 / inTopicNo.3)  Re[2]: C# ListBoxに表示されている項目を自動的に選択したい
□投稿者/ sollalice (2回)-(2012/08/24(Fri) 19:05:34)
No63435 (魔界の仮面弁士 さん) に返信

ありがとうございます。
comboBoxの使用で、内容の編集を禁止したものが欲しかったものとピッタリでした。
どうしてcomboBoxのことを忘れていたんだろう・・・。

>>これは WinForm の話でしょうか。ASP.NET や WPF ではなく。
VS2003の時と違ってこんなに機能が追加されてメジャーなものになってたなんて・・・。

//個人的話
職業プログラマだったときにお世話になったなおこ(・∀・)様が亡くなっていたとは。
この場でお礼を言わせていただきます。
あの時は本当にありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -