簡體   English   中英

如何設置對話框到cursor的position?

[英]How do I set a dialog box to the position of the cursor?

我正在使用 WPF 開發一個應用程序,並在其中創建用戶控件。 當我單擊鼠標右鍵時,我想在與 cursor 相同的 position 中顯示一個對話框,但我很困惑如何做到這一點。

以下代碼在單擊鼠標右鍵時打開一個Window Window位於鼠標指針處:

主窗口.xaml.cs

partial class MainWindow : Window
{
  protected override void OnMouseRightButtonUp(MouseButtonEventArgs e)
  {
    base.OnMouseRightButtonUp(e);

    var mousePointerPosition = PointToScreen(e.GetPosition(this));
    var dialog = new Window() 
    {
      Top = mousePointerPosition.Y, 
      Left = mousePointerPosition.X, 
      Width = 100, 
      Height = 100
    };
    dialog.ShowDialog();
  }
}

我很確定您正在尋找的內容已經可用並已收集 ContextMenu。

        <Button Content="Right-click me!">
            <Button.ContextMenu>
                <ContextMenu>
                    <MenuItem Header="Menu item 1" />
                    <MenuItem Header="Menu item 2" />
                    <Separator />
                    <MenuItem Header="Menu item 3" />
                </ContextMenu>
            </Button.ContextMenu>
        </Button>

在此處輸入圖像描述

請參閱以下參考:

https://www.wpf-tutorial.com/common-interface-controls/contextmenu/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM