I have two monitors. I am seeing some strange behaviour when I access the MenuStrip of my C# application near the edge of my left monitor.
Case 1: In this screenshot I have opened SubMenu1 when the window is fairly close to the edge of my left monitor. SubMenu2 shows up on the leftmost edge of my right monitor.

Case 2: I then move my application a few pixels to the left and now SubMenu2 appears to the left of SubMenu1.

In my opinion, Case 2 looks much nicer. Is there any way to force C# to always show the menu like in Case 2?
You can control it in your program, set the SubMenu1’s RightToLeft property to RightToLeft.Yes. That has some side effects, the text will now be right-aligned and the arrow will point the correct way. You’d probably want to set the property in the a DropDownOpening event handler for the “Menu” item.