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

わんくま同盟

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

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


(過去ログ 178 を表示中)
■101963 / )  Re[3]: ListBoxに表示する文字列を揃える方法
□投稿者/ radian (129回)-(2023/05/22(Mon) 10:09:46)
2023/05/22(Mon) 11:33:21 編集(投稿者)
No101958 (初心者 さん) に返信
> データが英語やハングル、中国語など様々な言語で管理されています。
> 例、個人001.dat(英語) 個人002.dat(日本語) 個人003.dat(中国語) ...
> 下記サイトを参考に空白埋めで揃えようとしています。
> http://hanatyan.sakura.ne.jp/dotnet/StrCut.htm
> 
> <現状>
> 個人001 :  aaa    abc  25
> 個人002 :  bbb    あああ      75
> 個人003 :  ccc     哦哦哦   66
> 
> <やりたいこと>
> 個人001 :  aaa    abc          25
> 個人002 :  bbb    あああ       75
> 個人003 :  ccc    哦哦哦       66

空白埋めで揃えるというアプローチがそもそも間違っているので、
表っぽくしたいならDataGridViewか、弁士さんの別解にあるListViewでも使った方がいいと思います。


    Protected Overrides Sub OnLoad(e As EventArgs)
        MyBase.OnLoad(e)

        'DataGridView設定(ListBox風)
        DataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect
        'DataGridView1.CellBorderStyle = DataGridViewCellBorderStyle.None ←セル境界線が要らないなら設定
        DataGridView1.ColumnHeadersVisible = False
        DataGridView1.RowHeadersVisible = False
        DataGridView1.AllowUserToResizeColumns = False
        DataGridView1.AllowUserToResizeRows = False
        DataGridView1.AllowUserToAddRows = False
        DataGridView1.ReadOnly = True
        DataGridView1.MultiSelect = False '複数行選択したいならTrue

        'DataGridView行を作る
        DataGridView1.Columns.AddRange({
            New DataGridViewTextBoxColumn() With {.DataPropertyName = "Col1", .Width = 50},
            New DataGridViewTextBoxColumn() With {.DataPropertyName = "Col2", .Width = 50},
            New DataGridViewTextBoxColumn() With {.DataPropertyName = "Col3", .Width = 50},
            New DataGridViewTextBoxColumn() With {.DataPropertyName = "Col4", .Width = 50}
        })

        'DataTableを作成し、DataGridViewに設定
        Dim dt As New DataTable
        dt.Columns.Add("Col1")
        dt.Columns.Add("Col2")
        dt.Columns.Add("Col3")
        dt.Columns.Add("Col4")
        dt.Rows.Add({"個人001", "aaa", "abc", "25"})
        dt.Rows.Add({"個人002", "bbb", "あああ", "75"})
        dt.Rows.Add({"個人003", "ccc", "哦哦哦", "66"})
        DataGridView1.DataSource = dt

    End Sub

返信 編集キー/


管理者用

- Child Tree -