2017-08-16 145 views
-2

我正在创建一个小型游戏,调整主窗口大小以适合不断增长的棋盘。我想重新定位窗口,以保持调整大小后在鼠标下单击的按钮。目前,点击时,电路板变宽,并将按钮从鼠标移开。调整鼠标位置后重新定位WPF窗口

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

+0

请添加您的当前代码。 – MJK

回答

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; 
}