WPF实现控件拖动的示例代码
实现控件拖动的基本原理是对鼠标位置的捕获,同时根据鼠标按键的按下、释放确定控件移动的幅度和时机。
简单示例:
在Grid中有一个Button,通过鼠标事件改编Button的Margin属性,从而改变Button在Grid中的相对位置。
button
为Button控件绑定三个事件:鼠标按下、鼠标移动、鼠标释放
publicSystemMap()
{
InitializeComponent();
btn.MouseLeftButtonDown+=btn_MouseLeftButtonDown;
btn.MouseMove+=btn_MouseMove;
btn.MouseLeftButtonUp+=btn_MouseLeftButtonUp;
}
定义变量+鼠标按下事件
Pointpos=newPoint();
voidbtn_MouseLeftButtonDown(objectsender,MouseButtonEventArgse)
{
Buttontmp=(Button)sender;
pos=e.GetPosition(null);
tmp.CaptureMouse();
tmp.Cursor=Cursors.Hand;
}
鼠标移动事件
voidbtn_MouseMove(objectsender,MouseEventArgse)
{
if(e.LeftButton==MouseButtonState.Pressed)
{
Buttontmp=(Button)sender;
doubledx=e.GetPosition(null).X-pos.X+tmp.Margin.Left;
doubledy=e.GetPosition(null).Y-pos.Y+tmp.Margin.Top;
tmp.Margin=newThickness(dx,dy,0,0);
pos=e.GetPosition(null);
}
}
鼠标释放事件
voidbtn_MouseLeftButtonUp(objectsender,MouseButtonEventArgse)
{
Buttontmp=(Button)sender;
tmp.ReleaseMouseCapture();
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
热门推荐
10 立春祝福语简短微信
11 过年祝福语闺蜜简短
12 小升初送给儿子祝福语简短
13 升大学祝福语简短女生
14 新年祝福语鼠年简短创意
15 晚安好梦祝福语简短
16 幼儿转园祝福语简短
17 自己祝福语简短唯美短句
18 简短宝贝祝福语大全集