본문 바로가기
개발언어/C#

[C#] listview에 button추가시 샘플3

by 창용이랑 2021. 8. 10.
728x90

이 프로그램의 효과는 실현 되는 마우스를 클릭하면 일행이 위젯의 끝이 한개 선택한 버튼을 누르고, button를 추가했다. 

  1. 공사를 준비하고 있다.
    우선 우리는 하나의 창 생성 프로그램체 C #의. WFAListViewBtn
  2. 준비하고 있다. 컨트롤
    창문 하나에 추가한 체, 이곳의 컨트롤 ID ListView은 기본 오시면 좋겠다.
    3의 속성이 필요한 위젯을. 좀
    • View 속성이 있다. 대신 Detail
    • 속성을 True로 바꾸고 있다. FullRowSelect
    • 3열을 추가를 클릭하고 있다. Columns
  3. 변수를 정의하고 있다.
    바로 이 변수에 대한 정의 컨트롤 코드가 Button은 있다.
private Button btn = new Button();

private void Form1_Load(object. sender, EventArgs e)  
{  
    ListViewItem[] lvs = new ListViewItem[3];  
    lvs[0] = new ListViewItem(new string.[] { "1행 1위"., "12열 행"., " });  
    lvs[1] = new ListViewItem(new string.[] { "12열 행"., "2열 행 2"., " });  
    lvs[2] = new ListViewItem(new string.[] { "1행 3열"., "2행 3열"., " });  
    this.listView1.Items.AddRange(lvs);  

    btn.Visible = false;  
    btn.Text = "...";  
    btn.Click += this.button_Click;  
    this.listView1.Controls.Add(btn);  
    this.btn.Size = new Size(this.listView1.Items[0].SubItems[2].Bounds.Width,  
    this.listView1.Items[0].SubItems[2].Bounds.Height);  
}

//리스트뷰 항목 클릭시
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
    ListViewItem[] lvs = new ListViewItem[3];
    if (this. listView1. SelectedItems. Count > 0)
    {
        thisbtnLocation. = new Point(this. listView1. SelectedItems[0]. SubItems[2]. BoundsLeft.,this. listView1. SelectedItems[0]. SubItems[2]. BoundsTop.);
        thisbtn. Visible = true;
    }
}

//리스트뷰내의 버튼 클릭시
private. void button_Click(object. sender, EventArgs e)  
{  
    MessageBox.Show(this.listView1.SelectedItems[0].SubItems[0].Text);  
}