首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C# 实专任意控件的随意拖动

2013-10-12 
C# 实现任意控件的随意拖动目的实现窗体里面的所有控件可以随意拖动C#布局代码如下:using Systemusing Sy

C# 实现任意控件的随意拖动

目的实现窗体里面的所有控件可以随意拖动

C#布局代码如下:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Imaging;using System.Windows.Navigation;using System.Windows.Shapes;namespace DragLabel{    /// <summary>    /// MainWindow.xaml 的交互逻辑    /// </summary>    public partial class MainWindow : Window    {        bool IsMouseDown = false;        Point mousePoint;        object mouseCtrl = null;        public MainWindow()        {            InitializeComponent();        }        private void Window_MouseMove(object sender, MouseEventArgs e)        {            if (IsMouseDown)            {                if (e.LeftButton == MouseButtonState.Pressed)                {                    Point theMousePoint = e.GetPosition(this.canvas1);                    Canvas.SetLeft((UIElement)mouseCtrl, theMousePoint.X - (mousePoint.X - Canvas.GetLeft(((UIElement)mouseCtrl))));                    Canvas.SetTop((UIElement)mouseCtrl, theMousePoint.Y - (mousePoint.Y - Canvas.GetTop(((UIElement)mouseCtrl))));                    mousePoint = theMousePoint;                }            }        }        private void Window_MouseUp(object sender, MouseButtonEventArgs e)        {            if (IsMouseDown)            {                IsMouseDown = false;            }          }        private void label1_MouseDown(object sender, MouseButtonEventArgs e)        {            if (e.LeftButton == MouseButtonState.Pressed)            {                IsMouseDown = true;                mousePoint = e.GetPosition(this.canvas1);                mouseCtrl = sender;            }               }        private void stackPanel1_MouseDown(object sender, MouseButtonEventArgs e)        {            if (e.LeftButton == MouseButtonState.Pressed)            {                IsMouseDown = true;                mousePoint = e.GetPosition(this.canvas1);                mouseCtrl = sender;            }        }    }}


热点排行