ListViewの編集

ListViewにアイテムを追加したり、選択したアイテム行を削除する方法。
簡単なサンプルコードを下に示す。ここでは、Addボタンを押すと決まった文字列を追加する。アイテム行を選択してRemoveボタンを押すと行を削除する。行が選択されていなければ何もしない。

import System.Drawing
import System.Windows.Forms

from System.Drawing import *
from System.Windows.Forms import *

class MainForm(Form):
    def __init__(self):
        self.InitializeComponent()
   
    def InitializeComponent(self):
        listViewItem11 = System.Windows.Forms.ListViewItem("Line 1")
        listViewItem12 = System.Windows.Forms.ListViewItem("List 2")
        self._button1 = System.Windows.Forms.Button()
        self._listView1 = System.Windows.Forms.ListView()
        self._button2 = System.Windows.Forms.Button()
        self.SuspendLayout()
        #
        # button1
        #
        self._button1.Font = System.Drawing.Font("メイリオ", 9, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 128)
        self._button1.Location = System.Drawing.Point(23, 24)
        self._button1.Name = "button1"
        self._button1.Size = System.Drawing.Size(75, 23)
        self._button1.TabIndex = 0
        self._button1.Text = "Add"
        self._button1.UseVisualStyleBackColor = True
        self._button1.Click += self.Button1Click
        #
        # listView1
        #
        self._listView1.Font = System.Drawing.Font("メイリオ", 9, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 128)
        self._listView1.Items.AddRange(System.Array[System.Windows.Forms.ListViewItem](
            [listViewItem11,
            listViewItem12]))
        self._listView1.Location = System.Drawing.Point(23, 75)
        self._listView1.Name = "listView1"
        self._listView1.Size = System.Drawing.Size(233, 164)
        self._listView1.TabIndex = 1
        self._listView1.UseCompatibleStateImageBehavior = False
        self._listView1.View = System.Windows.Forms.View.List
        #
        # button2
        #
        self._button2.Font = System.Drawing.Font("メイリオ", 9, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 128)
        self._button2.Location = System.Drawing.Point(114, 24)
        self._button2.Name = "button2"
        self._button2.Size = System.Drawing.Size(75, 23)
        self._button2.TabIndex = 2
        self._button2.Text = "Remove"
        self._button2.UseVisualStyleBackColor = True
        self._button2.Click += self.Button2Click
        #
        # MainForm
        #
        self.ClientSize = System.Drawing.Size(284, 262)
        self.Controls.Add(self._button2)
        self.Controls.Add(self._listView1)
        self.Controls.Add(self._button1)
        self.Name = "MainForm"
        self.Text = "test3"
        self.ResumeLayout(False)

    def Button1Click(self, sender, e):
        # Add item
        msg = "added new line"
        self._listView1.Items.Add(msg)

    def Button2Click(self, sender, e):
        # Delete selected item
        if self._listView1.SelectedIndices.Count != 0:
            item = self._listView1.SelectedItems[0]
            self._listView1.Items.Remove(item)
        else:
            print "item is not selected."

実行例は以下の通り。


▲起動画面

▲行を選択して削除する

▲削除した

▲行を追加する