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