Home > Software engineering >  Why does c# winforms ListView.Click event handler only work when you click on the text contained in
Why does c# winforms ListView.Click event handler only work when you click on the text contained in

Time:11-23

Here is my code:

ListView listview = new ListView();
listview.Size = new System.Drawing.Size(150, 100);
listview.BackColor = System.Drawing.Color.Orange;
listview.ForeColor = System.Drawing.Color.Black;
listview.Name = "Group"   count2;
listview.FullRowSelect = true; // just tried this
listview.Click  = HighLight; 
// no Position is set because its added to a FlowLayoutPanel
foreach (var item in text_list)
{
    listview.Items.Add(item); // adds the text
}
autolayoutGroups.Controls.Add(listview); // add to FlowlayoutPanel

As you can see I set a function to be called when the user clicks on the listview but it only works when you click on the text in the listview. How can I make it call the function when you click anywhere within the control?

CodePudding user response:

Use the event mousedown to detect clicks in the entire listview

add mousedown event

listView1.MouseDown  = ListView1_MouseDown;

implementation

 private void ListView1_MouseDown(object sender, MouseEventArgs e)
 {
    throw new NotImplementedException();
 }
  • Related