我有一个自定义的用户控件,其中包含占用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