- PR -

リストボックスの初期値設定

投稿者投稿内容
あや☆
常連さん
会議室デビュー日: 2005/07/28
投稿数: 36
投稿日時: 2005-07-29 14:33
C#.NET を始めたばかりの超初心者です。

リストボックスに初期値を設定したいのですが、
Page_Load のところで、
ListBox1.SelectedIndex = 10;

とすると、画面を開いた時、Itemsに設定した10番目のデータがセットされます。
ここまではいいのですが、この場合リストボックスの中が紺色になってしまいます。(選択された状態)
これを選択されていない状態の白のままで、かつ初期値を設定したいのですが、
何か方法はありますでしょうか?

ご存知の方がいましたら、ご教授ください。
よろしくお願いいたします。
まゆりん
ぬし
会議室デビュー日: 2002/08/12
投稿数: 539
お住まい・勤務地: よこはま
投稿日時: 2005-07-29 15:15
こんにちは、まゆりんです。

WebかWindowsかの明記がありませんが、Webでいいんですよね?

フォーカスを別のコントロールに当ててみては如何でしょうか?
ぱっと思いついただけなので、参考まで。
_________________
まゆりん @ わんくま同盟
Blog る。
餅宮餅吉
ベテラン
会議室デビュー日: 2005/03/04
投稿数: 57
お住まい・勤務地: 月餅のうまい店の隣
投稿日時: 2005-07-29 15:22
あや☆さん、こんにちわ。
引用:

あや☆さんの書き込み (2005-07-29 14:33) より:
ここまではいいのですが、この場合リストボックスの中が紺色になってしまいます。(選択された状態)
これを選択されていない状態の白のままで、かつ初期値を設定したいのですが、
何か方法はありますでしょうか?


 質問が、初期値というのは何をさしている言葉なのでしょうか?
 SelectedIndex は、「現在選択されている項目の 0 から始まるインデックス番号」ということなので、値を設定したら当然選択された状態になると思うのですが?
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-07-29 15:27
こんにちは、じゃんぬ です。

引用:

WebかWindowsかの明記がありませんが、Webでいいんですよね?


Page_Load と言っているので、ASP.NET と勝手に仮定しちゃいます (w

引用:

フォーカスを別のコントロールに当ててみては如何でしょうか?
ぱっと思いついただけなので、参考まで。


確か、フォーカス云々に関係なく起きると思います。
でも、それの何がいけないんだろうって思います。

# Windows アプリケーションならできるんですけどね...



_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
あや☆
常連さん
会議室デビュー日: 2005/07/28
投稿数: 36
投稿日時: 2005-07-29 15:40
返信ありがとうございます。

引用:
--------------------------------------------------------------------------------

WebかWindowsかの明記がありませんが、Webでいいんですよね?

--------------------------------------------------------------------------------
すいません。書いてませんでしたが、Webです。

引用:
--------------------------------------------------------------------------------

質問が、初期値というのは何をさしている言葉なのでしょうか?

--------------------------------------------------------------------------------
リストボックスで何も指定しなければリストの一番上のデータが表示されると思うのですが、
それを画面を開いた時に、一番上のデータではなく途中のデータを表示させたいということです。
具体的には、リストの中身は1,2,3・・・・19,20で、表示させたいのは10です。

SelectedIndex で書くと、必ず紺色になってしまうのでしょうか?
また、他の方法でもいいので実現はできないでしょうか?

画面の見栄えの問題なのですが、リストボックスをたくさん配置しているので、
画面を開いた瞬間に紺色のリストがたくさんあると、違和感を感じるのです。
まゆりん
ぬし
会議室デビュー日: 2002/08/12
投稿数: 539
お住まい・勤務地: よこはま
投稿日時: 2005-07-29 16:00
引用:

Page_Load と言っているので、ASP.NET と勝手に仮定しちゃいます (w


私もそこで判断しました。

引用:

確か、フォーカス云々に関係なく起きると思います。
でも、それの何がいけないんだろうって思います。

# Windows アプリケーションならできるんですけどね...


とりあえず確認してみました。ASP.NET(Webアプリケーション)と仮定して。
JavaScriptで別のコントロールにフォーカスを当ててやればご希望どおりにはなります。

先に言っておきますが、JavaScriptについてはご自身で調べてくださいね♪
(ちょっと検索すればすぐ出てきますよ)

#あぁ、ちょっと遅かった。
_________________
お砂場のIdle(笑)

[ メッセージ編集済み 編集者: まゆりん 編集日時 2005-07-29 16:06 ]
あや☆
常連さん
会議室デビュー日: 2005/07/28
投稿数: 36
投稿日時: 2005-07-29 17:30
引用:
--------------------------------------------------------------------------------

JavaScriptで別のコントロールにフォーカスを当ててやればご希望どおりにはなります。

--------------------------------------------------------------------------------
JavaScript 調べてやってみました。
しかし、別のコントロールにフォーカスを当てても、そのコントロールが紺色になるだけで、
今、白くしたいリストボックスは変化無し(紺色のまま)です・・・。
まゆりんさんは、ちゃんと白くなったのですか?

JavaScriptで文字を選択状態にするには、select()を使うみたいですが、
逆に、非選択状態に設定することはできないのでしょうか?
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-07-29 17:38
白々しく書きますが、
引用:

JavaScriptで別のコントロールにフォーカスを当ててやればご希望どおりにはなります。


ん? なりましたか?
ListBox の場合はならないと思ったのですが...
ブラウザにも因るのかなぁ?



_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌

スキルアップ/キャリアアップ(JOB@IT)