我用多個標籤創建了簡單的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. 在設計UI中移動WPF控件
- 6. 如何在WPF中移動控件
- 7. 在VB2010中移動圖像控件WPF
- 8. 用戶控件內的WPF動畫
- 9. WPF用戶控件
- 10. WPF用戶控件
- 11. 用戶控件中的用戶控件wpf無響應
- 12. 用戶控件中的WPF用戶控件不呈現路徑
- 13. C#WPF用戶控件的可滾動容器
- 14. WPF用戶控件的HitTest
- 15. RenderTransform.TranslateTransform在用戶控件動畫在WPF
- 16. 負載WPF用戶控件動態
- 17. 拖動WPF用戶控制
- 18. 如何在wpf用戶控件中託管WinForms用戶控件?
- 19. 將控件從用戶控件移動到面板控件
- 20. 從WPF中的用戶控件繼承
- 21. WPF中的C#用戶控件
- 22. WPF用戶控件中的綁定
- 23. WPF用戶控件中的錯誤
- 24. 用戶控件中的WPF Flowdirection
- 25. 用戶控件中的DataGridViewCell WPF
- 26. 共享庫中的WPF用戶控件
- 27. 用戶控件在WPF中的屬性
- 28. 在運行時移動WPF控件
- 29. WPF - 從用戶控件操控的VisualState
- 30. WPF +項目中的擴展器控件用戶控件。適合可用空間
返回位置,更新用戶控件位置,鼠標的位置? – Amicable 2012-04-12 08:49:38