14

リストボックスからリストビューへの移行について。

こんにちは。

次のようなエントリを追加するリストボックスがあります。

1;コンテンツ

1 は常に int であり、コンテンツは常に文字列です。それぞれに個別にアクセスできます。

ここで、結果を降順に並べ替えます。つまり、次のようになります。

1;content
4;content2
2;content3

=>

4;content2
2;content3
1;content

これは見栄えが悪いので、代わりに Listview を使用したいと思います。このような:

Frequency | Content
===============
4 | content2
2 | content3
1 | content

問題は、表形式のプロパティが存在しないようで、すべてのエントリがエクスプローラーのリストビューにシンボルのように配置されていることです。また、2 番目の列 (コンテンツ) に「到達」するのに問題があります。つまり、4,2,1 しか表示されません。

そのためにc#.net 4でリストビューを準備して入力するにはどうすればよいですか?

4

5 に答える 5

45

ListView を詳細モードに設定するには:

        listView1.View = View.Details;

次に、2 つの列を設定します。

        listView1.Columns.Add("Frequency");
        listView1.Columns.Add("Content");

次に、アイテムを追加します。

        listView1.Items.Add(new ListViewItem(new string[]{"1", "content"}));
        listView1.Items.Add(new ListViewItem(new string[]{"4", "content2"}));
        listView1.Items.Add(new ListViewItem(new string[]{"2", "content3"}));

列の値を表す文字列配列を受け取る ListViewItem コンストラクターのオーバーロードを使用することにしました。しかし、22 のオーバーロードがあります。それを見て、あなたの状況に最も適したものを見つけてください。

項目の自動ソートを設定するには:

        listView1.Sorting = SortOrder.Descending;
于 2012-07-14T18:44:18.700 に答える
1

この投稿は 1 年以上前のものですが、これは役に立つかもしれないと思いました。数年前に、ListView を複数列の ListBox として使用することについての記事を書きました。これには、データを入力するためのコードが含まれています。この記事はここから入手できます (複数列の ListBox として ListView を使用する) VB.NET を使用して記述されていますが、C# のコードはほとんど同じです。C# を使用して書き直すことができ、そのリンクを追加しますが、それはまたの機会に。

お気軽にお知らせください:)

于 2013-04-21T08:52:36.973 に答える
1

リスト ビュー ヘッダーを追加し、リスト ビューに項目を追加するには、次のコードを試してください。

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Lstv1.Columns.Add("Paramname", CInt(Lstv1.Width / 2))
        Lstv1.Columns.Add("Paramorder", CInt(Lstv1.Width / 2))
    End Sub


Private Sub appendlistview(ByVal Paramname As String, ByVal Paramorder As String)

    Dim newitem As New ListViewItem(Paramname)
    newitem.SubItems.Add(Paramorder)

    Lstv1.Items.Add(newitem)

End Sub


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAdd.Click

    Call appendlistview(TextBox1.Text, TextBox2.Text)
End Sub
于 2013-11-13T16:18:08.293 に答える
-2

クラシックでは、ListView GridView を使用します。GridView は、列を追加するものです。

グリッドビュー

于 2012-07-14T18:16:34.300 に答える