我有一個自定義的用戶控件,其中包含佔用80%空間的圖表元素。c#通過子控件的鼠標事件
當這個被放置在一個形式,我可以點擊不受圖表和點擊/鼠標按下/鼠標鬆開事件工作所佔用的面積。但是,當我點擊圖表區域時,鼠標事件不會通過,因此不會觸發。
是否有這樣做,而不在其中添加事件功能在窗體上的每個控件具有全球性的方式?
void Drag_MouseDown(object sender, MouseEventArgs e)
{
activeControl = sender as UserControl;
previousLocation = e.Location;
Cursor = Cursors.SizeAll;
}
void Drag_MouseMove(object sender, MouseEventArgs e)
{
if (activeControl == null || activeControl != sender)
return;
var location = activeControl.Location;
location.Offset(e.Location.X - previousLocation.X, e.Location.Y - previousLocation.Y);
activeControl.Location = location;
}
void Drag_MouseUp(object sender, MouseEventArgs e)
{
activeControl = null;
Cursor = Cursors.Default;
}
這些是不得不手動設置到兩個自定義用戶控件和圖表
你可以在這裏分享代碼嗎? – DDave
我已經添加了上面的代碼。我想知道是否在用戶控件上的任何子控件上觸發了其中一個鼠標事件而不是必須手動設置它們時,纔會調用這些函數。 –
你在哪裏分配了這個事件? – DDave