컨트롤이 팝업 된 대화 상자가 있고 컨트롤 위에 컨트롤이 마우스로 올려 져있을 때 툴팁이 표시됩니다. 그러나 상자를 닫은 다음 다시 표시하면 툴팁이 작동하지 않습니다. 여기 내 코드의 일부입니다. 폼이 null로로드 될 때 tooltipOn을 초기화하고 있습니다. 추적 및 툴팁 1을 수행했습니다 .Show()는 단순히 표시되지 않는 두 번째 호출됩니다. 왜 그런가?폼이 만들어지는 두 번째 시간에 툴팁이 표시되지 않습니다.
private void Panel1_MouseMove(object sender, MouseEventArgs e)
{
Control ctrl = null;
if (sender == Panel1)
ctrl = ((Control)sender).GetChildAtPoint(e.Location);
else
ctrl = (Control)sender;
if (ctrl != null)
{
if (tooltipOn != ctrl)
{
toolTip1.Show(toolTip1.GetToolTip(ctrl), ctrl, ctrl.Width/2, ctrl.Height/2);
tooltipOn = ctrl;
}
}
else
{
toolTip1.Hide(this);
tooltipOn = null;
}
}
로 변경
! 나는 아직도 무엇이 계속되고 있는지 확실하지 않다. 내 양식이 처음 나타나는 이유는 무엇이며 두 번째 코드는 보이지 않는 이유를 설명해 주시겠습니까? – novacara
사실 당신은 무엇을 압니까? 양식이 처음 표시 될 때 컨트롤 위에 마우스를 놓지 않은 경우에만 작동합니다. – novacara
여러 컨트롤에서 동일한 툴팁을 사용하려고한다는 사실과 관련이 있다고 생각합니다. 일반적으로 각 컨트롤에는 고유 한 툴팁이 있습니다. 그러나, 당신이 그것을하는 방식으로 당신은 하나의 툴팁 (내가 말할 수있는 것에서 만)을 생성하고, 그 위에 마우스를 가지고있는 툴팁을 움직일 수 있습니다. – Joseph