我知道這應該是非常簡單的,尤其是考慮到所有的在線信息和示例代碼,但由於某種原因,我無法讓這個工作。如何使用MouseMove事件在面板內移動標籤?
我在winform上有一個標籤和一個面板。我希望標籤只在鼠標指針進入並在面板內移動時才遵循。
我知道它的工作原理,但它的位置完全移動了,並且在移動winform時它總是在變化。
這裏是的MouseMove和其他事件:
constructor MainForm;
begin
InitializeComponent();
label2.Visible:=false;
end;
method MainForm.panel1_MouseMove(sender: System.Object; e: System.Windows.Forms.MouseEventArgs);
begin
//label2.Location := panel1.PointToScreen(e.Location);
label2.Location := self.PointToScreen(e.Location);
label2.Invalidate;
end;
method MainForm.panel1_MouseEnter(sender: System.Object; e: System.EventArgs);
begin
label2.Visible:=true;
end;
method MainForm.panel1_MouseLeave(sender: System.Object; e: System.EventArgs);
begin
label2.Visible:=false;
end;
更新如所建議的通過larstech,我修改了的代碼,但該標籤仍然顯示框外如下圖像被示出。
感謝,
是標籤PANEL1的子控件?這不是很清楚。 – LarsTech
@LarsTech不,它不是。該標籤不在面板內的Winform上。 Panel1文本是包含文本「Panel1. – ThN