概述
我有一个WindowStyle =“None”和AllowTransparency =“True”的Window元素,因此它没有标题栏并支持透明度.
我希望用户能够通过左键单击窗口中的任意位置并拖动窗口将窗口移动到屏幕上的任何位置.只要按下鼠标左键,窗口就会随鼠标拖动.
我能够得到这个功能有一个例外:当鼠标移动到窗口外面(例如当鼠标左键靠近窗口边缘并且鼠标被移动时),窗口不再捕捉鼠标位置,并且不会随鼠标拖动.
以下是我用来完成工作的代码隐藏代码:
public Point MouseDownPosition { get; set; }
public Point MousePosition { get; set; }
public bool MouseIsDown { get; set; }
private void window_MyWindowName_MouseLeftButtonDown(object sender,MouseButtonEventArgs e)
{
MouseDownPosition = e.GetPosition(null);
MouseIsDown = true;
}
private void window_MyWindowName_MouseMove(object sender,MouseEventArgs e)
{
if (MouseIsDown)
{
MousePosition = e.GetPosition(null);
Left += MousePosition.X - MouseDownPosition.X;
Top += MousePosition.Y - MouseDownPosition.Y;
}
}
private void window_MyWindowName_MouseLeftButtonUp(object sender,MouseButtonEventArgs e)
{
MouseIsDown = false;
}
最后
以上就是呆萌板凳为你收集整理的wpf 监听退出事件_c# – 如何捕获(WPF)窗口之外发生的鼠标事件?的全部内容,希望文章能够帮你解决wpf 监听退出事件_c# – 如何捕获(WPF)窗口之外发生的鼠标事件?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复