• 0

[C#] Context Menu Strip with Windows Vista look and feel


Question

Hi,

I've searched and searched google but can't find anything... I'm currently using 2 context menu strips in my application, one for the notification icon and another for the contextual menu of a textbox. I want them to have the look and feel of menus in Vista with the possibility to use icons. However, if the application is used on XP, I want the menus to have the look and feel of XP, also using the icons.

Can anyone help me out?

Recommended Posts

  • 0

You'd probably have to create your own Renderer for the ContextMenuStrip.

Have a look at this:

http://www.chaliy.com/TipsAndTricks/Vs2005LikeRendering/

and

http://www.codeproject.com/cs/menu/Office2007Renderer.asp

Edit, and this:

http://www.chaliy.com/Sources/RebarRenderer/Default.aspx

Edited by Winston
  • 0
So you have no clue right? Maybe this is only possible on VS2008 and with .NET 3.0 or maybe not? I'm not really sure as I don't have it, but it must be a way...

I could probably figure it out. Time is my only issue. I'd rather spend time with the ladies than coding. LOL

I'll see what I can come up with. I sincerely doubt it's only doable in 2008/3/3.5.

  • 0

Don't you just set the RenderMode to System?

contextMenuStrip1.RenderMode = ToolStripRenderMode.System;

EDIT: never mind, I see that doesn't do it either.

Edited by virtorio
  • 0
Don't you just set the RenderMode to System?

contextMenuStrip1.RenderMode = ToolStripRenderMode.System;

EDIT: never mind, I see that doesn't do it either.

The current render modes on VS don't do the trick. I'm using ManageRenderMode which looks like the image below, Professional (I think) also makes it look like the image:

ScalablePictureBox.jpg

In my google searches I only found about one thing. In VS2005, there's only one way to make the menus have the Vista look, I have to use the ContextMenu control and not the ContextMenuStrip. ContexMenu control is hidden, you have to add it to the toolbox. Although, there are no way to add icons to ContextMenu items, only owner-drawing, but that will loose the Vista look...

  • 0
I guess I could be wrong about it not being tied to 3.0/3.5... There has to be a way to do it natively. It's just going to take some digging. I just grabbed the latest SDK, so I'll take a look at it when I can.

Thanks, whenever you have an answer, reply back :)

  • 0

You can fully modify menustrips look and feel by using ToolStripRenderer. Just create a new class like this:

public class VistaToolstripRenderer : System.Design.ToolstripRenderer

... or something like that.

Take a look at following article in codeproject. It shows how to create a style which follows Office 2007 guidelines. If you can't accomplish the style you're trying to make, I may create it as part of my project called Cloud Toolkit.Net (https://sourceforge.net/projects/cloudtoolkitnet/). It has Office 2007 toolstriprenderer but not yet Vista or any else renderer

Codeproject article about ToolstripRenderer

Regards,

Timo Salom?ki

  • 0

The problem is that I don't want the Vista renderer. If that was the case, users running XP would have their menus themed with Vista look and that's not what I want. I want to have menus that have the visual style OS look and use icons.

  • 0

Oh right, you didn't make it so clear, I suggest this is what you do:

You can either create a class and inherit from the old ContextMenu item and do some owner drawing yourself, and refer to this class:

http://msdn2.microsoft.com/en-us/library/s....menu.item.aspx

To actually retrieve the current OS's Visual Style menu item state's.

Or you can create your own managed renderer for the ContextMenuStrip, and use the above class to handle the drawing logic as well.

[EDIT] OK, my bad, I just realised, that it's not a class supported under Vista, hmm that's weird, I think you'd really have to result into using some PInvoking to achieve it.

Edited by Winston
  • 0

Just out of curiosity, is there some reason why you don't just use one of the normal menu classes, and do all of the drawing yourself? You've probably already spent much more time looking for a boxed solution than you would have had you just done the GDI+ work yourself.

  • 0

That has been answered many times in this thread...

I can't use ContextMenu nor ContextMenuStrip because they don't use the system look depending on the OS and VisualStyle. Doing it in GDI+ wouldn't help at all. What if the user is using WindowBlinds or a hacked uxtheme.dll and use a different visual style? How is GDI+ going to help me there?

@Winston

I think I'll just forget it... I'm using ContextMenu for now, but I'm forgetting about the icons... Oh well, what you gonna do...

  • 0
I can't use ContextMenu nor ContextMenuStrip because they don't use the system look depending on the OS and VisualStyle. Doing it in GDI+ wouldn't help at all. What if the user is using WindowBlinds or a hacked uxtheme.dll and use a different visual style? How is GDI+ going to help me there?

Ummm... it'll help you because you can query the system (through Windows.Forms) to get the bitmaps/colours making up the interface at any particular moment, and then draw the menu dynamically using GDI+. There are a whole set of classes in .NET for exactly this type of scenario.

There's no need for attitude here. Since you've spent two weeks on this, I was JUST wondering why you hadn't already considered the path of least resistance..........

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • DJI Neo 2 Fly More Combo gets a Prime Day exclusive pricing by Steven Parker DJI reached out to let us know that the DJI Neo 2 Fly More Combo has reached its lowest price ever ahead of Prime Day that starts tomorrow. This Fly More Combo kit adds two extra batteries, and a charge hub so you can charge all three at the same time, or keep two spares fully charged for quick swap and drone flying. (buying link below) Here are some of the important specifications: DJI Neo 2 Fly More Combo Dimensions: 147x171x41mm without DJI Neo 2 Digital Transceiver 167x171x54mm with DJI Neo 2 Digital Transceiver Takeoff Weight: 151 g without DJI Neo 2 Digital Transceiver 160 g with DJI Neo 2 Digital Transceiver Max Ascent Speed: 0.5 m/s (Cine mode) 3 m/s (Normal mode) 5 m/s (Sport Mode) Max Descent Speed: 0.5 m/s (Cine Mode) 3 m/s (Normal Mode) 3 m/s (Sport Mode) Max Horizontal Speed: 8 m/s (Normal Mode) 12 m/s (Sport Mode) 12 m/s (tracking status) Max Takeoff Altitude: 2000 m Max Flight Time: Approx. 19 minutes (approx. 17 minutes with the propeller guards) Each battery allows the drone to perform at least 20 palm takeoff and landing for shoots in succession Max Hovering Time: Approx. 18 minutes (16.5 minutes with the propeller guards) Max Flight Distance: 7 Km Max Wind Speed Resistance: 10.7 m/s (Level 5) Operating Temperature: -10° to 40° C (14° to 104° F) Global Navigation System: GPS + Galileo + BeiDou Hovering Accuracy Range: Vertical: ±0.1 m (with vision positioning) ±0.5 m (with satellite positioning) Horizontal: ±0.3 m (with vision positioning) ±1.5 m (with satellite positioning) Internal Storage: 49 GB Class: C0 (EU) Image Sensor: 1/2-inch CMOS Sensor Lens: FOV: 119.8° Format Equivalent: 16.5 mm Aperture: f/2.2 Focus: 0.7 m to ∞ ISO Range: Photo 100-3200 (Single Auto) 100-12800 (Burst Auto/Timed Auto) 100-12800 (Manual) Video 100-12800 (Auto) 100-12800 (Manual) Shutter Speed: Video: 1/8000-1/30 s Photo: 1/8000-1/10 s Max Image Size: 12 MP Photo 4000×3000 (4:3) 4000×2250 (16:9) Still Photography Modes: Single/Timed Shot Single Shot: 12 MP Timed Shot: 12 MP, 2/3/5/7/10/15/20/30/60 s Photo Format: JPEG Video Resolution: Horizontal Shooting: 4K (4:3*): 3840×2880@60/50/30fps 1080p (4:3*): 1440×1080@60/50/30fps 4K (16:9): 3840×2160@100**/60/50/30fps 1080p (16:9): 1920×1080@100**/60/50/30fps Vertical Shooting: 2.7K (9:16): 1512×2688@60/50/30fps Video features: MP4 Bitrate: 80 Mbps File System: exFAT Color Mode: Normal EIS: Supports RockSteady and turning stabilization off Gimbal: Stabilization: 2-axis mechanical gimbal (tilt, roll) Mechanical Range: Tilt: -125° to 105°, Roll: -43° to 43° Controllable Range: Tilt: -90° to 70° Max Control Speed (tilt): 100°/s Angular Vibration Range: ±0.01° Image Roll Correction: Supports correction of footage recorded on the drone. WiFi: 802.11a/b/g/n/ac/ax Bluetooth: 5.2 Battery: Capacity: 1606 mAh Weight: 46 g Nominal Voltage: 7.16 V Max Charging Voltage: 8.6 V Battery Type: Li-ion Chemical System: LiNiMnCoO2 Energy: 11.5 Wh Charging Temperature: 5° to 40° C (41° to 104° F) Charge time: When Using the Two-Way Charging Hub (65W): Approx. 68 mins to charge three batteries simultaneously from 0% to 100% When Directly Charging the Aircraft Body (15W): Approx. 70 minutes to charge from 0% to 100% (MSRP) Price: $349 As such, you have everything you need to get started right in the box, including the two extra batteries, and a spare set of propellers should things go amiss with the original set of blades on the drone. Oh, the humanity! What's in the box? DJI Neo 2 Aircraft x 1; DJI Neo 2 Intelligent Flight Battery x 3 DJI Neo 2 Two-Way Charging Hub x 1; DJI Neo 2 Spare Propellers (Pair) x 1 DJI Neo 2 Spare Propeller Screw x 4; Screwdriver x 1 DJI Neo 2 Propeller Guard (Pair) x 1; DJI Neo 2 Gimbal Protector x 1 USB-C to USB-C Data Cable x 1 Having never had the chance to mess around with a drone myself, a few more highlights for this drone are listed below: Lightweight & Portable Design - Weighing just 151g and C0 certified, this compact drone features full-coverage propeller guards for safer, worry-free transport and flight. Palm Takeoff & Landing, Gesture Control - Enjoy easy palm takeoff and landing, plus intuitive gesture controls for hands-free operation and seamless flying experiences. Smooth & Reliable Tracking - ActiveTrack keeps your subject in focus, while Apple Watch lets you view live feed, check flight status, or use voice control to adjust tracking. Easy Moment Capture With SelfieShot - Snap memorable moments easily with SelfieShot, allowing quick and convenient selfies anytime with just a simple tap. All-Around Safety & Flexible Flight - Fly confidently with omnidirectional obstacle sensing and enjoy versatile flight for safer, more dynamic aerial adventures. 4K High-Quality Imaging - Capture every moment in stunning detail with 4K resolution, delivering crisp, lifelike photos and videos every time. Good to know DJI also notes on the Amazon sales page that due to platform compatibility issues, the DJI Fly app has been removed from Google Play. Visit the official DJI website to download the user manual and the latest DJI Fly app for a better experience. Which means you will have to sideload it on your Android. Where to buy DJI Neo 2 Fly More Combo for $349 at Amazon US The above price has been communicated to me as a Prime Day exclusive. As an Amazon Associate we earn from qualifying purchases.
    • Upgrade for cheap to Windows 11 Pro or Home Edition digital license by Steven Parker Today's highlighted deal comes via our Apps + Software section of the Neowin Deals store, where you can save up to 94% off on a Microsoft Windows 11 Home, or Pro digital license. Upgrade your computing experience with Windows 11 Pro. This cutting-edge operating system boasts a sleek new design and advanced tools to help you work faster and smarter. From creative projects to gaming and beyond, Windows 11 delivers the power and flexibility you need to achieve your goals. With a focus on productivity, the new features are easy to learn and use, enhancing your workflow and efficiency. Whether you're a student, professional, gamer, or creative, Windows 11 Home has everything you need to take your productivity to the next level. New interface. easier on the eyes & easier to use Biometrics login*.Encrypted authentication & advanced antivirus defenses DirectX 12 Ultimate. Play the latest games with graphics that rival reality. DirectX 12 Ultimate comes ready to maximize your hardware* Screen space. Snap layouts, desktops & seamless redocking Widgets. Stay up-to-date with the content you love & the new you care about Microsoft Teams. Stay in touch with friends and family with Microsoft Teams, which can be seamlessly integrated into your taskbar** Wake & lock. Automatically wake up when you approach and lock when you leave Smart App Control. Provides a layer of security by only permitting apps with good reputations to be installed Windows Studio Effects. Designed with Background Blur, Eye Contact, Voice Focus, & Automatic Framing Touchscreen. For a true mouse-less or keyboard-less experience TPM 2.0. Helps prevent unwanted tampering Windows 11 Pro also includes a number of productivity-focused features, such as the ability to snap multiple windows together and create custom layouts, improved voice typing, and a new, more powerful search experience. Personal and professional users will enjoy a modern and secure computing experience, with improved performance and productivity features to help users get more done. Only on Windows 11 Pro If you require enterprise-oriented features for your daily professional tasks, then Windows 11 Pro is a better option. Set up with a local account (only when set up for work or school) Join Active Directory/Azure AD Hyper-V Windows Sandbox Microsoft Remote Desktop BitLocker device encryption Windows Information Protection Mobile device management (MDM) Group Policy Enterprise State Roaming with Azure Assigned Access Dynamic Provisioning Windows Update for Business Kiosk mode Maximum RAM: 2TB Maximum no. of CPUs: 2 Maximum no. of CPU cores: 128 Good to know This license is for Windows 11 only. It is NOT intended to be used for upgrading Microsoft Office (MSO) included in Parallels Pro. However, it will still work with Parallels Pro and allow you to run Windows applications including MSO, but it DOES NOT include an upgrade MSO itself. It is still compatible with Microsoft Office ONLY if you have a separate license for it. Length of access: lifetime Redemption deadline: redeem your code within 30 days of purchase Access options: desktop Max number of device(s): 1 Version: Windows 11 Pro Updates included Queries on legality of this deal, here A Windows 11 Pro retail license normally costs $199, with Windows 11 Home usually costing $139 but you can pick either one up for just $9.97 for a limited time. For a full description, specs, and license info, click the link below. Get Windows 11 Pro for just $9.97 (was $199) Get Windows 11 Home for just $9.97 (was $139) Although priced in U.S. dollars, this deal is available for digital purchase worldwide. Support queries If you have queries or need support for any of the Neowin Deals, please use the contact form here. Neowin Deals are managed and sold by StackCommerce who represent Neowin on an affiliate basis. Why we post these deals We post these because we earn commission on each sale so as not to rely solely on advertising, which many of our readers block. It all helps toward paying staff reporters, servers and hosting costs. So for those that keep moaning and complaining, be thankful we're still online for you to even do that. Other ways to support Neowin Whitelist Neowin by not blocking our ads Create a free member account to see fewer ads Make a donation to support our day to day running costs Subscribe to Neowin - for $14 a year, or $28 a year for an ad-free experience Disclosure: Neowin benefits from revenue of each sale made through our branded deals site powered by StackCommerce.
  • Recent Achievements

    • Dedicated
      tuben earned a badge
      Dedicated
    • Week One Done
      mnsgroup earned a badge
      Week One Done
    • Conversation Starter
      sumytbe earned a badge
      Conversation Starter
    • One Year In
      B4dM1k3 earned a badge
      One Year In
    • One Year In
      DarkWun earned a badge
      One Year In
  • Popular Contributors

    1. 1
      +primortal
      519
    2. 2
      +Edouard
      203
    3. 3
      PsYcHoKiLLa
      97
    4. 4
      Michael Scrip
      82
    5. 5
      neufuse
      67
  • Tell a friend

    Love Neowin? Tell a friend!