我用多個標籤創建了簡單的UserControl
。我如何實現簡單的機制,允許像普通窗口一樣移動整個控件(當我將它添加到winForms - 如果有區別)WPF中的可移動用戶控件
1
A
回答
3
前段時間我遇到了同樣的問題,this article on codeproject幫了我很多。
2
你可以用我的採集等級:
public class ClsCapture
{
bool bCaptureMe;
Point pLocation = new Point();
Control dd;
//Handles dad.MouseDown, dd.MouseDown
private void Form1_MouseDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
try {
bCaptureMe = true;
pLocation = e.GetPosition(sender);
} catch {
}
}
//Handles dad.MouseMove, dd.MouseMove
private void Form1_MouseMove(object sender, System.Windows.Input.MouseEventArgs e)
{
try {
if (bCaptureMe) {
dd.Margin = new Thickness(dd.Margin.Left - pLocation.X + e.GetPosition(sender).X, dd.Margin.Top - pLocation.Y + e.GetPosition(sender).Y, dd.Margin.Right, dd.Margin.Bottom);
}
} catch {
}
}
//Handles dad.MouseUp, dd.MouseUp
private void Form1_MouseUp(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
try {
bCaptureMe = false;
} catch {
}
}
public ClsCapture(Control pnl)
{
dd = pnl;
dd.PreviewMouseLeftButtonDown += Form1_MouseDown;
dd.PreviewMouseLeftButtonUp += Form1_MouseUp;
dd.PreviewMouseMove += Form1_MouseMove;
}
public static void CaptureMe(Control pnl)
{
ClsCapture cc = new ClsCapture(pnl);
}
}
使用方法:鼠標
ClsCapture.CaptureMe(AnyControlYouWant);
+0
我無法獲取System.Windows.Input.MouseButtonEventArgs – Raghurocks 2013-10-30 05:01:50
相關問題
- 1. WPF中的可編程用戶控件
- 2. WPF - 動畫用戶控件
- 3. 在另一個用戶控件中移動用戶控件
- 4. 如何在WPF的用戶控件中構建可重用的用戶控件?
- 5. 在VB2010中移動圖像控件WPF
- 6. WPF用戶控件
- 7. WPF用戶控件
- 8. 用戶控件中的WPF用戶控件不呈現路徑
- 9. WPF用戶控件的HitTest
- 10. 拖動WPF用戶控制
- 11. 如何在wpf用戶控件中託管WinForms用戶控件?
- 12. WPF用戶控件中的錯誤
- 13. WPF中的C#用戶控件
- 14. 用戶控件在WPF中的屬性
- 15. 從WPF中的用戶控件繼承
- 16. 用戶控件中的DataGridViewCell WPF
- 17. 創建移動網頁用戶控件
- 18. 允許最終用戶移動控件
- 19. WPF +項目中的擴展器控件用戶控件。適合可用空間
- 20. WPF - 從用戶控件操控的VisualState
- 21. 如何使用WPF中的滾動條加載用戶控件?
- 22. 一個WPF用戶控件
- 23. WPF用戶控件焦點
- 24. 裝飾用戶控件WPF
- 25. wpf - 用戶控件繼承
- 26. wpf用戶控件模板
- 27. 創建WPF用戶控件
- 28. 用戶控件不在WPF
- 29. 處置WPF用戶控件
- 30. WPF用戶控件問題
返回位置,更新用戶控件位置,鼠標的位置? – Amicable 2012-04-12 08:49:38