집 >백엔드 개발 >C#.Net 튜토리얼 >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 DragWindowTest { /// <summary> /// MainWindow.xaml 的交互逻辑 /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private static bool IsDrag = false; private double enterX; private double enterY; private void Window_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { IsDrag = true; enterX = e.GetPosition(this).X; enterY = e.GetPosition(this).Y; } private void Window_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) { IsDrag = false; enterX = 0; enterY = 0; } private void Window_MouseMove(object sender, MouseEventArgs e) { if (IsDrag) { this.Left += e.GetPosition(this).X - enterX; this.Top += e.GetPosition(this).Y - enterY; } } } }