I have two forms, form 1 has list1 and form 2 has list 2.
I need to use one context menu (cmenu)which is work in form 1 and it must be in work form 2 too the same context menu.. but there is a problem with Print Preview which is an item in the context menu when I right click in list 2 I see the items of list 1 in the print preview page.

how can I fix it??? first let me tell you what I did.

to make the context menu work in form 2 I wrote this:


form2.list2.ContextMenuStrip= form1.cmenu

in the print preview context menu item code:


PrintPreviewDialog1.document = PrintDialog1 'PrintDialog1 has a loop to print items of list1 in form1


it prints list1 when I click form1 or form2.
how can I make PrintPreviewDialog1.document = PrintDialog2 'to print list2 ??
I can't access the code to change the document according the source of right click if it was list1 to do this or if it was list2 to print the other document.
I tried to use class but I had problems too


It seems that form2.list2.ContextMenuStrip references to the list in form1. Create a copy of the form1.cmenu I didn't fully test this but it should be very easy to do:

Dim ArrItems() As ToolStripMenuItem

ReDim ArrItems(form1.cmenu.Items.Count - 1)
form1.cmenu.Items.CopyTo(ArrItems, 0)

thanks a lot for your help :) it worked :cool:

Hi! Nice to hear that you got answer to your problem, could you please mark the thread as solved. Thank you!