调整大小到鼠标位置后重新定位WPF窗口

时间:2017-08-16 14:04:03

标签: c# wpf user-interface wpf-controls

我正在制作一款小型游戏,它可以调整主窗口的大小,以适应不断增长的电路板。我想重新定位窗口以保持调整大小后在鼠标下单击的按钮。目前,当点击时,电路板变宽并将按钮移离鼠标。

当我移动窗口时,如何将按钮定义为锚点?

1 个答案:

答案 0 :(得分:0)

我不知道是否有办法将按钮用作锚点。但经过一番思考,我想出了一个可以为你工作的代码。 基本上,我在调整大小之前和之后使用鼠标相对于按钮位置来相应地移动窗口。我希望它有所帮助。

private void Btn1Click(object sender, RoutedEventArgs e)
{
    int widthGrowth = 50;
    int heightGrowth = 80;

    Button btn = sender as Button;
    Point oldMousePosition = Mouse.GetPosition(btn);

    Width += widthGrowth;
    Height += heightGrowth;

    Point newMousePosition = Mouse.GetPosition(btn);

    Left += newMousePosition.X - oldMousePosition.X;
    Top += newMousePosition.Y - oldMousePosition.Y;
}