【发布时间】:2018-01-24 17:23:30
【问题描述】:
我正在创建一个小游戏,它可以调整主窗口的大小以适应不断增长的棋盘。我想重新定位窗口以保留调整大小后在鼠标下单击的按钮。目前,当点击板时,板会变宽并将按钮从鼠标移开。
如何将按钮定义为移动窗口时的锚点?
【问题讨论】:
-
请添加您当前的代码。
标签: c# wpf user-interface wpf-controls
我正在创建一个小游戏,它可以调整主窗口的大小以适应不断增长的棋盘。我想重新定位窗口以保留调整大小后在鼠标下单击的按钮。目前,当点击板时,板会变宽并将按钮从鼠标移开。
如何将按钮定义为移动窗口时的锚点?
【问题讨论】:
标签: c# wpf user-interface wpf-controls
我不知道是否有办法将按钮用作锚点。但经过一番思考,我想出了一个可以为你工作的代码。 基本上,我在调整大小之前和之后使用相对于按钮位置的鼠标来相应地移动窗口。希望对你有帮助。
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;
}
【讨论】: