2009-09-02 23 views
1

ListBoxで2つ以上の列を作成する方法とデータを挿入する方法 - C#を使用していますか?リストボックスは、ただ一つの要素それぞれの行が表示されるので、C#を使用して2つ以上の列をListBoxに作成する方法は?

感謝の事前

+1

「ListView」コントロールを使用しない特別な理由はありますか? –

答えて

-1

にあなたは、その目的のためにデータグリッドが必要になります。しかしまずは、Winforms、WPF、ASP.NET、SilverlightのどのUIを使用しているかを教えてください。

1

2つの異なる列のデータだけを表示する場合は、両方のデータをマージしてリストボックスに追加できます。

希望の作品です!

3

UseCustomTabOffsetsCustomTabOffsetsを次のVB.NETの例に示すように使用してください。

Public Class Form1 
    Inherits System.Windows.Forms.Form 

    'Form overrides dispose to clean up the component list. 
    <System.Diagnostics.DebuggerNonUserCode()> _ 
    Protected Overrides Sub Dispose(ByVal disposing As Boolean) 
     Try 
      If disposing AndAlso components IsNot Nothing Then 
       components.Dispose() 
      End If 
     Finally 
      MyBase.Dispose(disposing) 
     End Try 
    End Sub 

    'Required by the Windows Form Designer 
    Private components As System.ComponentModel.IContainer 

    'NOTE: The following procedure is required by the Windows Form Designer 
    'It can be modified using the Windows Form Designer. 
    'Do not modify it using the code editor. 
    <System.Diagnostics.DebuggerStepThrough()> _ 
    Private Sub InitializeComponent() 
     Me.ListBox1 = New System.Windows.Forms.ListBox 
     Me.SuspendLayout() 
     ' 
     'ListBox1 
     ' 
     Me.ListBox1.FormattingEnabled = True 
     Me.ListBox1.Location = New System.Drawing.Point(13, 13) 
     Me.ListBox1.Name = "ListBox1" 
     Me.ListBox1.Size = New System.Drawing.Size(248, 147) 
     Me.ListBox1.TabIndex = 0 
     ' 
     'Form1 
     ' 
     Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) 
     Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font 
     Me.ClientSize = New System.Drawing.Size(292, 266) 
     Me.Controls.Add(Me.ListBox1) 
     Me.Name = "Form1" 
     Me.Text = "Form1" 
     Me.ResumeLayout(False) 

    End Sub 
    Friend WithEvents ListBox1 As System.Windows.Forms.ListBox 

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
     Me.ListBox1.UseCustomTabOffsets = True 
     Me.ListBox1.CustomTabOffsets.AddRange(New Integer() {40, 40, 40}) 
     Me.ListBox1.Items.Add("a" + vbTab + "b" + vbTab + "c") 
    End Sub 

End Class 
+0

私は 'CustomTabOffsets'パートで何が起こっているのか正確には分かりませんが、これは私のためにうまくいきました。ありがとう+1 –

+0

リストボックスは、Windows Common Controlsで使用されるリストボックスをラップします。タブストップ機能は、リストビューやデータグリッドのようなコントロールを持たないWindowsの最初のバージョンで使用されていました。 .NETのリストボックスは下位互換性が必要であるため、この機能をリストボックスに追加しました。 – AMissico

+0

カスタムタブオフセット整数は、選択したフォントの平均文字幅の1/4です。https://support.microsoft.com/en-us/kb/318601 – Slai

関連する問題