dotnet / dotnet/winforms

ContextMenuStrip show on wrong monitor

Open
#11,289 8 comments 1 reaction 0 assignees View on GitHub
:beetle: bug area-HDPI help wanted priority-3 tenet-compatibility
Dominant language
C#
Stars
4.9k
Forks
1.1k
Avg merge
1d 13m
Merged PRs (30d)
85

Description

### .NET version

dotnet8

### Did it work in .NET Framework?

Not tested/verified

### Did it work in any of the earlier releases of .NET Core or .NET 5+?

No idea. I had to switch to ContextMenuStrip because ContextMenu was removed in dotnet6. It may never have worked correctly.

### Issue description

In dotnet 8, create a new WinForms project. Add a ContextMenuStrip on the Form.
In the Form mouse click event, do this:
private void Form1_MouseClick(object sender, MouseEventArgs e)
{
contextMenuStrip1.Show(this, e.Location);
}
Use 2 monitors.
Run app, maximize app\form on first (left) monitor.
Click on form close to the right edge of first (left) monitor.
Notice the context menu is showing on the second (right) monitor.
This is not very user friendly! Also, ContextMenu that was removed in WinForms for dotnet6 did not have this problem.

### Steps to reproduce

Info in Issue description

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.