473,396 Members | 1,799 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

Building context menu on the fly

Hello there
Need to create a context menu in runtime, everything is ok except that I
need to check if a menuitem called "whatever" already exists in the context
menu.
Below is the code I use that gives an "Object reference not set to an
instance of an object" error
Any ideas how I can do that.
================================================== ==
For Each lvitem In lv1.SelectedItems '''''Depending on the item in the
selected items i want to add a MenuItem
objecttypemulti = lvitem.Tag.ToString.Substring(3, 3) 'to determine to
object type so know which MenuItems are needed
Dim menuitemtocheck As MenuItem
If objecttypemulti = 3 Then
menuitemtocheck.Index = 0 '''''Trying to give a value for the menuitem
If CM_LV1.MenuItems.Contains(menuitemtocheck) = False Then '''''here the
error is raised, i need to do that so i don't add a MenuItem more then one
time
tt = CM_LV1.MenuItems.Add("first actions")
tt.MenuItems.Add("machine hopa", New System.EventHandler(AddressOf
Me.LV_MenuItem_restartmachine))
End If
ElseIf objecttypemulti = 0 Then
tt = CM_LV1.MenuItems.Add("other Actions")
tt.MenuItems.Add("action whatever")
End If
Next
================================================== ==
the purpose is to add "first actions" and "other actions" only once even if
the object type in repeated more then once in the listview selected items.
Thanks in advance
Regards
Sameh
Nov 21 '05 #1
3 1578
On 2004-09-16, Sameh Ahmed <es******@hotmail.com> wrote:
Hello there
Need to create a context menu in runtime, everything is ok except that I
need to check if a menuitem called "whatever" already exists in the context
menu.
Below is the code I use that gives an "Object reference not set to an
instance of an object" error
A couple of initial points. Code is a lot easier to read when it's
indented.
Any ideas how I can do that.
================================================= ===
For Each lvitem In lv1.SelectedItems '''''
objecttypemulti = lvitem.Tag.ToString.Substring(3, 3) 'to determine to
object type so know which MenuItems are needed
Dim menuitemtocheck As MenuItem
At this point, you've declared menuitemtocheck to be a MenuItem, but
haven't set it to an actual variable. So right now it's Nothing.
If objecttypemulti = 3 Then
menuitemtocheck.Index = 0 '''''Trying to give a value for the menuitem
And now you're trying to access the .Index property of Nothing, which is
going to throw an exception.

I'm not sure exactly what you're trying to do here, but in general you
can just loop over a menu's item collection to see if what you want is
there

For Each itemToCheck As MenuItem In CM_LV1.MenuItems
' check to see if itemToCheck matches what you're looking for


If CM_LV1.MenuItems.Contains(menuitemtocheck) = False Then '''''here the
error is raised, i need to do that so i don't add a MenuItem more then one
time
tt = CM_LV1.MenuItems.Add("first actions")
tt.MenuItems.Add("machine hopa", New System.EventHandler(AddressOf
Me.LV_MenuItem_restartmachine))
End If
ElseIf objecttypemulti = 0 Then
tt = CM_LV1.MenuItems.Add("other Actions")
tt.MenuItems.Add("action whatever")
End If
Next
================================================= ===
the purpose is to add "first actions" and "other actions" only once even if
the object type in repeated more then once in the listview selected items.
Thanks in advance
Regards
Sameh

Nov 21 '05 #2
thanks you
I know that I was point to noting that's why I posted here:)
need to know how to assign menuitemtocheck a value?
is there a way to use the method "contains" instead of looping in the
MenuItems?
Regards
Sameh

"David" <df*****@woofix.local.dom> wrote in message
news:slrnckj4fd.11g.df*****@woofix.local.dom...
On 2004-09-16, Sameh Ahmed <es******@hotmail.com> wrote:
Hello there
Need to create a context menu in runtime, everything is ok except that I
need to check if a menuitem called "whatever" already exists in the context menu.
Below is the code I use that gives an "Object reference not set to an
instance of an object" error


A couple of initial points. Code is a lot easier to read when it's
indented.
Any ideas how I can do that.
================================================= ===
For Each lvitem In lv1.SelectedItems '''''
objecttypemulti = lvitem.Tag.ToString.Substring(3, 3) 'to determine to
object type so know which MenuItems are needed
Dim menuitemtocheck As MenuItem


At this point, you've declared menuitemtocheck to be a MenuItem, but
haven't set it to an actual variable. So right now it's Nothing.
If objecttypemulti = 3 Then
menuitemtocheck.Index = 0 '''''Trying to give a value for the menuitem


And now you're trying to access the .Index property of Nothing, which is
going to throw an exception.

I'm not sure exactly what you're trying to do here, but in general you
can just loop over a menu's item collection to see if what you want is
there

For Each itemToCheck As MenuItem In CM_LV1.MenuItems
' check to see if itemToCheck matches what you're looking for


If CM_LV1.MenuItems.Contains(menuitemtocheck) = False Then '''''here the
error is raised, i need to do that so i don't add a MenuItem more then one time
tt = CM_LV1.MenuItems.Add("first actions")
tt.MenuItems.Add("machine hopa", New System.EventHandler(AddressOf
Me.LV_MenuItem_restartmachine))
End If
ElseIf objecttypemulti = 0 Then
tt = CM_LV1.MenuItems.Add("other Actions")
tt.MenuItems.Add("action whatever")
End If
Next
================================================= ===
the purpose is to add "first actions" and "other actions" only once even if the object type in repeated more then once in the listview selected items. Thanks in advance
Regards
Sameh

Nov 21 '05 #3
On 2004-09-16, Sameh Ahmed <es******@hotmail.com> wrote:
thanks you
I know that I was point to noting that's why I posted here:)
need to know how to assign menuitemtocheck a value?
is there a way to use the method "contains" instead of looping in the
MenuItems?


In this case, it doesn't look like there is, although I'm admittedly not
sure exactly what you're trying to compare.

Nov 21 '05 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
by: Mohit Gupta | last post by:
Hi all, Lately I have been working on an application in VB .net CF for Pocket PC device. I have a small question about Context Menu. When I try to close the window after context menu is poped...
5
by: Dean L. Howen | last post by:
Dear friends, Could we determine when context menu should appear?
8
by: Dennis C. Drumm | last post by:
Is there a way to modify the standard context menu shown when someone right clicks in a windows text box and that would work for all open windows applications? The standard context menu for...
0
by: VP | last post by:
G'day folks, well i am attempting to get an understanding on how to create the menuitems in a context menu on the fly. So far I have managed to actually achieve the menu items being created for...
3
by: Eric Sabine | last post by:
This app will fill a datatable from sql server at load time (and can clear and reload it again if the user requests it). The contents of the data table contain program names and program groups. For...
5
by: lgbjr | last post by:
Hello All, I have several Pictureboxes (linked to an AccessDB) on a VB.NET form. I would like to use a context menu to allow the user to open the picture in their default picture viewer or...
1
by: goRide | last post by:
Hi, I'm looking of a way (preferred - a ready class or dll) to customize the context menu. many application has more controls inside the context menu (like textbox, sliders, checkbox, panel...
0
by: ssg31415926 | last post by:
I have a list view which contains various object types and I need to create a context menu with menu items dependent on the object type. I can detect the object type at MouseDown. I've written...
2
by: MCM | last post by:
I'm working on a plotting control. The plotting control will have a context menu with basic commands for "scaling", "zooming", etc. Is there a way that, from the parent form, I can add more...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.