- - PR -
ListBoxの表示について
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-02-09 15:47
下記のようにListBoxへ追加をしています。
Dim i As Int16 For i = 0 To mytable.Columns.Count - 1 myRow = mytable.Rows(i) ListBox1.Items.Add(myRow("id") & " " & myRow("name") & " " & myRow("age")) Next この場合、idとnameそしてageの間隔は同じになるのですが、それぞれの文字数が異なる場合、当然のことですが縦一列には並びません。 ListBoxで項目ごとに縦一列に並べる方法、または他の方法で何かよい方法をお持ちの方はお願いします。 ListBoxは選択した値を他で参照するために使用しています。 | ||||
|
投稿日時: 2004-02-09 16:00
Windowsアプリなら
UseTabStopsプロパティをtrueにしてタブで区切ればうまく表示されるはずです。 | ||||
|
投稿日時: 2004-02-09 16:09
諸農です。
String.Format()を使うのは如何でしょうか。
C#で申し訳ないm(_ _)m _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||
|
投稿日時: 2004-02-09 16:14
String.Formatメソッド。
う〜ん、説明は難しい。MSDNを読み解くのは、おそらくもっと難しい。。。とりあえず、こんな風にします。 ListBox1.Items.Add(String.Format("{0:###} {1,10} {2:##}", _ new Object() {myRow("id"), myRow("name"), myRow("age")}) MSDNのトピック「書式指定子」を、しっかり読んでください。 あ、悩んでいる間にゆうじゅんさんのコメントが・・・それも簡単でいいなと思うけど、数字は「右揃え」で表示したいと思うので、やっぱり送信。 それから、特に理由がないならInt16ではなく、Int32を使用しましょう。32ビット環境ですから、こちらの方がPCも計算しやすい/ムダがないです。 さらに悩んでいる間にかぶった・・・ [ メッセージ編集済み 編集者: Jitta 編集日時 2004-02-09 16:14 ] | ||||
|
投稿日時: 2004-02-09 16:14
お返事ありがとうございます。
Windowsアプリで、UseTabStopsプロパティはtrueになっています。 具体的に、先ほど示したプログラムをどのように変更すればよいのか、簡単に書いていただけないでしょうか? 無理なお願いだとは思いますがよろしくお願いします。 | ||||
|
投稿日時: 2004-02-09 16:27
MSDN (Visual Studio .NET ドキュメント) は、見てみましたか?
サンプルが載っていますよ。 Web版 → http://www.microsoft.com/japan/msdn/library/ja/cpref/html/frlrfsystemwindowsformslistboxclassusetabstopstopic.asp | ||||
|
投稿日時: 2004-02-09 16:30
TAB文字を展開してくれるので単純に区切りをタブ「\t」にすればいいですよ PS String.Formatもいいと思いますが名前に半角、全角が混在している場合にうまく うごかくなると思います。(Byte単位でスペースうめたい・・・・) | ||||
|
投稿日時: 2004-02-09 16:35
Tipsにありました。>書式設定
http://www.atmarkit.co.jp/fdotnet/dotnettips/116formatint/formatint.html 数値のみ・・・もう少し増えると嬉しい、かも。 |