Topaz Filer: if you use e-mail for business, we can save you money and decrease your risk.
Controlling ContextMenu a bit better.
Messages   Related Types
This message was discovered on microsoft.public.dotnet.languages.vb.
Responses highlighted in red are from those people who are likely to be able to contribute good, authoratitive information to this discussion. They include Microsoft employees, MVP's and others who IMHO contribute well to these kinds of discussions.

Frank Rizzo
GOOD ANSWER
Hello,

I have a listview control with bunch of entries. When the user
right-clicks on the item, I want a context menu to come up. So I
created a ContextMenu instance and assigned it to ListView.ContextMenu
property.

The problem is that the context menu comes up regardless of whether I
right-click on the item or the empty space or the column header. I want
it only to come up when the user right-clicks on an item. How can I
control the ContextMenu better?
Reply to this message...
Vote that this is a GOOD answer... (2 votes from other users already)
 
 
    
Herfried K. Wagner [MVP] (VIP)
GOOD ANSWER
* Frank Rizzo <Click here to reveal e-mail address> scripsit:
[Original message clipped]

<URL:http://groups.google.de/groups?selm=ujyZAIRcEHA.2840%40TK2MSFTNGP11.phx.gbl>

--
M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://dotnet.mvps.org/dotnet/faqs/>
Reply to this message...
Vote that this is a GOOD answer... (3 votes from other users already)
 
 
    
Simon Jefferies
GOOD ANSWER
Hello,

The way I do it is to handle the AfterSelect() event of the listview item
and then determine what has been selected.

If a valid item was selected, then set the ContextMenu property to your
context menu otherwise you can set it to Nothing.

HTH

Regards
Simon Jefferies
mailto:simon[nospam]@cooltoolsonline.co.uk
-- remove [nospam] to email me --

"Frank Rizzo" <Click here to reveal e-mail address> wrote in message
news:%Click here to reveal e-mail address...
[Original message clipped]

Reply to this message...
Vote that this is a GOOD answer... (3 votes from other users already)
 
 
    
Simon Mayr
GOOD ANSWER
Frank Rizzo wrote:
[Original message clipped]

Hello Frank:

I think this might work for you:

'********************************************************************
Private Sub SelectItem(ByVal sender As Object, _
        ByVal e As System.Windows.Forms.MouseEventArgs) _
     Handles YourListViewName.MouseDown

Dim lvItem As ListViewItem

    lvItem = Me.YourListViewName.GetItemAt(e.X, e.Y)
If e.Button = MouseButtons.Right _
AndAlso Not IsNothing(lvItem) Then
    
Me.YourContextMenu.Show(CType(sender, ListView), _
New Point(e.X, e.Y))
                            
End If

End Sub
'*********************************************************************

Simon
Reply to this message...
Vote that this is a GOOD answer... (2 votes from other users already)
 
 
    
Frank Rizzo
GOOD ANSWER
You, my friend, are the man!

Simon Mayr wrote:
[Original message clipped]

Reply to this message...
Vote that this is a GOOD answer... (2 votes from other users already)
 
 
 
System.Windows.Forms.ContextMenu
System.Windows.Forms.ListView
System.Windows.Forms.ListViewItem
System.Windows.Forms.MouseButtons
System.Windows.Forms.MouseEventArgs




Ad
BootFX
Reliable and powerful .NET application framework.
Recession Busting Bespoke Software
Get through the recession by investing in bespoke software to decrease costs and create commercial opportunities.
Other DN247 Network Sites
.NET 247
SQL Server Wins
Old Skool Developer
 
Copyright © AMX Software Ltd 2008-2009. Portions copyright © Matthew Baxter-Reynolds 2001-2009. All rights reserved.
Contact Us - Terms of Use - Privacy Policy - .NET 247 is a member of the DN247 Network - 4.0.30129.1734