前田稔(Maeda Minoru)の超初心者のプログラム入門
// listView1 ・・・ this.listView1.View = System.Windows.Forms.View.List; this.listView1.SelectedIndexChanged += new System.EventHandler(this.listView1_SelectedIndexChanged); ・・・ |
private void listView1_SelectedIndexChanged(object sender, System.EventArgs e) { string msg = "選択された項目\n\n"; if (listView1.SelectedItems.Count==0) return; ListViewItem itemx = new ListViewItem(); itemx = listView1.SelectedItems[0]; msg += itemx.Text + "\n"; msg += itemx.SubItems[1].Text + "\n"; msg += itemx.SubItems[2].Text; MessageBox.Show(msg); } |
/******************************************/ /*★ ListView の Item を選択 前田 稔 ★*/ /******************************************/ using System; using System.Drawing; using System.Windows.Forms; public class MyForm : Form { private ListView listView1; public MyForm() { InitializeComponent(); InitializeListView(); Load += new System.EventHandler(MyForm_Load); } private void InitializeComponent() { this.listView1 = new System.Windows.Forms.ListView(); this.SuspendLayout(); // // listView1 // this.listView1.Location = new System.Drawing.Point(12, 12); this.listView1.Name = "listView1"; this.listView1.Size = new System.Drawing.Size(258, 232); //this.listView1.Sorting = System.Windows.Forms.SortOrder.Descending; this.listView1.TabIndex = 0; this.listView1.UseCompatibleStateImageBehavior = false; this.listView1.View = System.Windows.Forms.View.List; this.listView1.SelectedIndexChanged += new System.EventHandler(this.listView1_SelectedIndexChanged); // // MyForm // this.ClientSize = new System.Drawing.Size(282, 256); this.Controls.Add(this.listView1); this.Name = "MyForm"; this.ResumeLayout(false); } // ListViewコントロールを初期化します。 private void InitializeListView() { // ListViewコントロールのプロパティを設定 listView1.FullRowSelect = true; listView1.GridLines = true; listView1.Sorting = SortOrder.Ascending; listView1.View = View.Details; // 列(コラム)ヘッダの作成 ColumnHeader[] columnHead = new ColumnHeader[3]; for (int i = 0; i < 3; i++) columnHead[i] = new ColumnHeader(); columnHead[0].Text = "名前"; columnHead[0].Width = 100; columnHead[1].Text = "種類"; columnHead[1].Width = 60; columnHead[2].Text = "データ"; columnHead[2].Width = 80; listView1.Columns.AddRange(columnHead); } // ListViewコントロールのデータを更新します。 private void MyForm_Load(object sender, System.EventArgs e) { // ListViewコントロールにデータを追加します。 string[] item1 = { "リンゴ", "果物", "赤"}; listView1.Items.Add(new ListViewItem(item1)); string[] item2 = { "メロン", "果物", "緑" }; listView1.Items.Add(new ListViewItem(item2)); string[] item3 = { "ピーマン", "野菜", "緑"}; listView1.Items.Add(new ListViewItem(item3)); string[] item4 = { "大根", "野菜", "白"}; listView1.Items.Add(new ListViewItem(item4)); string[] item5 = { "人参", "野菜", "赤" }; listView1.Items.Add(new ListViewItem(item5)); } private void listView1_SelectedIndexChanged(object sender, System.EventArgs e) { string msg = "選択された項目\n\n"; if (listView1.SelectedItems.Count==0) return; ListViewItem itemx = new ListViewItem(); itemx = listView1.SelectedItems[0]; msg += itemx.Text + "\n"; msg += itemx.SubItems[1].Text + "\n"; msg += itemx.SubItems[2].Text; MessageBox.Show(msg); } } class form01 { public static void Main() { MyForm mf = new MyForm(); Application.Run(mf); } } |
// listView1 ・・・ this.listView1.View = System.Windows.Forms.View.List; //this.listView1.SelectedIndexChanged += new System.EventHandler(this.listView1_SelectedIndexChanged); this.listView1.DoubleClick += new System.EventHandler(this.listView1_DoubleClick); ・・・ |
private void listView1_DoubleClick(object sender, EventArgs e) { ListViewItem itemx = new ListViewItem(); itemx = listView1.SelectedItems[0]; MessageBox.Show(itemx.Text, "Double Click"); } |
private void InitializeComponent() { this.components = new System.ComponentModel.Container(); this.timer1 = new System.Windows.Forms.Timer(this.components); this.timer1.Interval = 400; this.timer1.Tick += new System.EventHandler(this.timer1_Tick); this.listView1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.listView1_MouseDown); |
private void listView1_MouseDown(object sender, MouseEventArgs e) { Console.WriteLine("MouseDown " + e.Clicks); if (e.Clicks==1) { timer1.Start(); //400 ms } if (e.Clicks==2) //Double Click { timer1.Stop(); ListViewItem itemx = new ListViewItem(); itemx = listView1.SelectedItems[0]; Console.WriteLine("Double Click " + itemx.Text); } } |
private void timer1_Tick(object sender, EventArgs e) { timer1.Stop(); string msg = "single Click\n"; if (listView1.SelectedItems.Count==0) return; ListViewItem itemx = new ListViewItem(); itemx = listView1.SelectedItems[0]; msg += itemx.Text + "\n"; msg += itemx.SubItems[1].Text + "\n"; msg += itemx.SubItems[2].Text; Console.WriteLine(msg); Console.WriteLine("--------"); } |
MouseDown 1 single Click ピーマン 野菜 緑 -------- MouseDown 1 single Click メロン 果物 緑 -------- MouseDown 1 MouseDown 2 Double Click リンゴ MouseDown 1 MouseDown 2 Double Click 人参 |
this.listView1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.listView1_MouseDown); |
// マウスがクリックされたとき private void listView1_MouseDown(object sender, MouseEventArgs e) { if (e.Button==System.Windows.Forms.MouseButtons.Right) { Console.WriteLine("Mouse Right Click"); for (int i = 0; i < listView1.SelectedItems.Count; i++) { Console.WriteLine(" {0}", listView1.SelectedItems[i]); } } } |
for (int i = 0; i < ListBox1.SelectedItems.Count; i++) { Console.WriteLine(" {0}", ListBox1.SelectedItems[i]); } |