Skip to Content
Essential SharePoint
book

Essential SharePoint

by Jeff Webb
May 2005
Beginner
336 pages
10h 14m
English
O'Reilly Media, Inc.
Content preview from Essential SharePoint

Adding Menus

To add a menu to a web part, override CreateWebPartMenu to add MenuItem objects to the web part's MenuItems collection. For example, the following code adds a Save Settings item to the web part menu:

      Dim _mnuSave As MenuItem
 
      Public Overrides Sub CreateWebPartMenu()
          _mnuSave = New MenuItem("Save Settings", "mnuSave", _
            New EventHandler(AddressOf _mnuSave_Click))
           Me.WebPartMenu.MenuItems.Add(_mnuSave)
      End Sub
 
      Private Sub _mnuSave_Click(ByVal sender As Object, ByVal e As System.EventArgs)
         Try
             Me.SaveProperties = Not _chkSave.Checked
        Catch
             _msg &= "You must be signed in as a contributor to save properties. "
        End Try
      End Sub

The MenuItem constructor sets the displayed name, ID, and event handler for the menu item. In this case, the _mnuSave_Click event handler switches the SaveProperties setting for the web part on and off.

Menus don't save their state: they are redrawn from scratch each time the page is displayed. That's why a statement like _mnuSave.Checked = Not _mnuSave.Checked doesn't toggle the checkmark on a menu item. Instead you must use a web part property or a web control (such as the checkbox) to track the checked status of a menu item.

The CreateMenu and CreateChildControls methods are not called in a fixed order, so it's important to set web control properties in the OnPreRender event when working with web part menus. OnPreRender always occurs just before the web part is rendered. This code completes the Save Settings menu example by setting the control properties ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

SharePoint User's Guide

SharePoint User's Guide

Infusion Development Corp. (Infusion Development Corporation)
SharePoint 2016 For Dummies

SharePoint 2016 For Dummies

Ken Withee, Rosemarie Withee
Microsoft SharePoint 2016 Step by Step

Microsoft SharePoint 2016 Step by Step

Olga Londer, Penelope Coventry

Publisher Resources

ISBN: 0596008805Errata Page