ToolTip
마우스로 마우스를 가져 가면 표시 할 컨트롤이 있습니다. 어떻게해야합니까? 코드 에서뿐만 아니라 디자이너 에서도이 작업을 올바르게 수행하는 방법을 알고 싶습니다 ( ToolTip
도구 상자에 구성 요소가 있지만 확실하지는 않습니다.)
이것이 중복 되어도 놀랍지 않지만 고급 시나리오에 관한 질문 만 찾을 수 있습니다. 기본을 알고 싶습니다.
ToolTip
마우스로 마우스를 가져 가면 표시 할 컨트롤이 있습니다. 어떻게해야합니까? 코드 에서뿐만 아니라 디자이너 에서도이 작업을 올바르게 수행하는 방법을 알고 싶습니다 ( ToolTip
도구 상자에 구성 요소가 있지만 확실하지는 않습니다.)
이것이 중복 되어도 놀랍지 않지만 고급 시나리오에 관한 질문 만 찾을 수 있습니다. 기본을 알고 싶습니다.
답변:
코드로 작성하는 기사는 다음과 같습니다.
private void Form1_Load(object sender, System.EventArgs e)
{
// Create the ToolTip and associate with the Form container.
ToolTip toolTip1 = new ToolTip();
// Set up the delays for the ToolTip.
toolTip1.AutoPopDelay = 5000;
toolTip1.InitialDelay = 1000;
toolTip1.ReshowDelay = 500;
// Force the ToolTip text to be displayed whether or not the form is active.
toolTip1.ShowAlways = true;
// Set up the ToolTip text for the Button and Checkbox.
toolTip1.SetToolTip(this.button1, "My button1");
toolTip1.SetToolTip(this.checkBox1, "My checkBox1");
}
toolTip1
변수가 범위를 벗어나 면 문제가되지 않을까요?
ToolTip
모든 양식 에 대해 하나의 정적 정보 는 어떻습니까?
툴팁 컨트롤을 툴박스에서 폼으로 드래그합니다. 실제로 이름 이외의 속성을 지정할 필요는 없습니다. 그런 다음 툴팁을 사용하려는 컨트롤의 속성에서 방금 추가 한 툴팁 컨트롤의 이름으로 새 속성을 찾으십시오. 커서가 컨트롤을 가리키면 기본적으로 툴팁이 표시됩니다.
여기서 유용한 요점은 ToolTip 컨트롤이 익스텐더 컨트롤 이므로 폼의 다른 컨트롤 에 대한 속성 집합을 확장한다는 것입니다 . 뒤에서 이것은 Svetlozar의 답변과 같은 코드를 생성하여 달성됩니다. 같은 방식으로 작동하는 다른 컨트롤이 있습니다 (예 :) HelpProvider
.
나는 이것을 이렇게했다 : 그냥 컨트롤에 이벤트를 추가하고 컨트롤의 태그를 설정하고 적절한 컨트롤 / 태그에 대한 툴팁을 처리하기위한 조건을 추가하십시오.
private void Info_MouseHover(object sender, EventArgs e)
{
Control senderObject = sender as Control;
string hoveredControl = senderObject.Tag.ToString();
// only instantiate a tooltip if the control's tag contains data
if (hoveredControl != "")
{
ToolTip info = new ToolTip
{
AutomaticDelay = 500
};
string tooltipMessage = string.Empty;
// add all conditionals here to modify message based on the tag
// of the hovered control
if (hoveredControl == "save button")
{
tooltipMessage = "This button will save stuff.";
}
info.SetToolTip(senderObject, tooltipMessage);
}
}