dotnet/winforms

ContextMenuStrip show on wrong monitor

開放

#11,289 建立於 2024年4月28日

 (8 則留言) (1 個反應) (0 位負責人)C# (922 個分叉)batch import
:beetle: bugarea-HDPIhelp wantedpriority-3tenet-compatibility

倉庫指標

星標
 (4,100 顆星)
PR 合併指標
 (PR 指標待抓取)

描述

.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

貢獻者指南