This answer explains how to use the CellEditStarting event to delete a row when a specific column of that row is clicked.
You only have to add a custom renderer to that solution if you want to display some kind of delete symbol.
You don't have to implement a custom renderer to display some kind of button-image for that row. You can use the ImageGetter. I improved the answer i already referenced to. It contains an example now.
Extract:
// assign an ImageList containing at least one image to SmallImageList
objectListView1.SmallImageList = imageList1;
// always display image from index 0 as default image for deleteColumn
deleteColumn.ImageGetter = delegate {
return 0;
};