読者です 読者をやめる 読者になる 読者になる

ListView

ListViewは、リストビューを扱うクラス・・・。

ListView クラス (System.Windows.Forms)

MFCのCListCtrlの時と同様に、リストビューへのアイテム追加や、選択されているアイテムの取得などを行う・・・。

f:id:BG1:20160421165858p:plain

を選択・・・。

f:id:BG1:20160421165935p:plain

このように配置・・・。

f:id:BG1:20160421170019p:plain

ちょっとForm1を広げる・・・。

f:id:BG1:20160421170117p:plain

[View]を[LargeIcon]から、

f:id:BG1:20160421170203p:plain

[Details]にする・・・。

f:id:BG1:20160421170342p:plain

TextBoxとButtonもこのように配置・・・。

f:id:BG1:20160421170448p:plain

今回は1項目ではなく1行まるごと選択したいので、listView1の[FullRowSelect]を、

f:id:BG1:20160421170555p:plain

Trueに・・・。

Form1のLoad時に、

listView1.Columns.Addでヘッダを追加・・・。

button1のクリックで、

アイテムを追加する・・・。
まず、3要素分のstring配列itemを用意して、textBox1~textBox3のTextを格納・・・。
ListViewItemのインスタンスを作成し、そのコンストラクタにitemを渡す・・・。
できたListViewItemのインスタンスをAddに渡す・・・。
これで追加される・・・。

button2のクリックで、

選択されている行の各列のテキストをtextBox1~textBox3のTextにセットする・・・。
listView1.SelectedItemsで選択されている行が取得できるが、複数行選択されている可能性もあるためlistView1.SelectedItems[0]として、選択されている最初の行を取り出すようにする・・・。
それをListViewItem型lvitemに格納したら、lvitem.SubItems[0].Textで0列目のテキストが取得できる・・・。
それをtextBox1.Textに渡す・・・。
lvitem.SubItems[1]はtextBox2.Textに、lvitem.SubItems[2]はtextBox3.Textに渡す・・・。

f:id:BG1:20160421172906p:plain

button1を押すと、

f:id:BG1:20160421172924p:plain

"Taro"が追加される・・・。

f:id:BG1:20160421173025p:plain

また押すと、

f:id:BG1:20160421173050p:plain

"Jiro"も追加・・・。

f:id:BG1:20160421173116p:plain

また押すと、

f:id:BG1:20160421173135p:plain

"Saburo"も追加・・・。

f:id:BG1:20160421173339p:plain

"Jiro"を選択して、button2押すと、

f:id:BG1:20160421173429p:plain

テキストボックスにJiroのものがセットされた・・・。

f:id:BG1:20160421173513p:plain

"Taro"を選択、button2で、

f:id:BG1:20160421173629p:plain

"Taro"に・・・。

f:id:BG1:20160421173650p:plain

"Saburo"を選択、button2で、

f:id:BG1:20160421173716p:plain

"Saburo"になった・・・。

Sample/Program.cs at master · bg1bgst333/Sample · GitHub
Sample/Form1.cs at master · bg1bgst333/Sample · GitHub
Sample/Form1.Designer.cs at master · bg1bgst333/Sample · GitHub