2012-10-31 57 views
1

在VS 2010 Pro中使用C#在窗体控件中使用C#MouseHover

我有一个MDI父窗体,实现标签上的MouseHover事件。在MouseHover上显示一个表单。我对这种形式的随机定位感到不满意。是否有可能控制该表单的显示位置?我希望它显示鼠标光标的位置。

任何建议表示赞赏,谢谢!

+0

我还没有尝试过,但也许这样的事情会工作。在MouseHover事件中获取鼠标的位置,这个... this.PointToClient(Control.MousePosition)'。然后将新窗体的顶部和左侧位置设置为此。如果'PointToClient'不起作用,那么可能''PointToScreen'。 –

+0

对不起,我不明白我的意思。我说“我希望它显示鼠标光标在哪里”,我应该说标签在哪里。尽管如此,我认为你仍然在那里。 – Xantom

+0

是的... PointToClient或PointToScreen仍然可以工作,只需使用标签位置作为参数值即可。 –

回答

1

将表单上的Location属性设置为所需的位置。

+0

我认为这会起作用,只是不完全确定如何执行该程序。我在其他地方发现了类似的问题,并且正在重新使用该代码 – Xantom

+0

PrntFrmLctn = GetFormLocation(MDIParentForm); 但是,MDIParentForm是表单的名称和保留的类名称,我该如何解决这个问题?对不起,如果我失去了明显的东西... – Xantom

+0

@Xantom,我不清楚你在问什么。你是否想要获取子窗体上的父窗体?或者父表单上的子表单?无论如何,这完全是一个完全不同的问题。 –