Windows 양식을 사용하여 단추 위에 도구 설명 표시
Windows 양식을 사용하여 단추 위에 도구 설명을 표시하는 방법은 무엇입니까?
도구 설명은 단일 양식에서 여러 요소에 대한 도구 설명 표시를 처리하는 단일 WinForms 컨트롤입니다.
여러분의 버튼이 MyButton이라고 해보세요.
- 양식에 도구 설명 컨트롤(Windows Forms 도구 상자의 공통 컨트롤 아래)을 추가합니다.
- 이름을 지정합니다. - MyToolTip이라고 합니다.
- MyButton의 "ToolTip on MyToolTip" 속성(버튼 속성 그리드의 Misc 아래)을 마우스로 가리킬 때 나타나는 텍스트로 설정합니다.
커서를 단추 위에 놓으면 도구 설명이 자동으로 나타나지만 프로그래밍 방식으로 표시해야 할 경우 다음을 호출합니다.
MyToolTip.Show("Tooltip text goes here", MyButton);
코드에서 툴팁을 표시합니다.
MyToolTip.Hide(MyButton);
그것을 다시 사라지게 하는 것.
양식 설계자 사용:
- 도구 상자에서 양식으로 도구 설명 컨트롤을 끕니다.
- 도구 팁을 표시할 컨트롤의 속성을 선택합니다.
- 'ToolTip1' 속성을 찾습니다(기본 이름을 변경한 경우 이름이 toolTip1이 아닐 수 있음).
- 속성의 텍스트를 표시할 도구 설명 텍스트로 설정합니다.
다음 호출을 사용하여 도구 팁을 프로그래밍 방식으로 설정할 수도 있습니다.
this.toolTip1.SetToolTip(this.targetControl, "My Tool Tip");
ToolTip 클래스를 사용할 수 있습니다.
예:
private void Form1_Load(object sender, System.EventArgs e)
{
System.Windows.Forms.ToolTip ToolTip1 = new System.Windows.Forms.ToolTip();
ToolTip1.SetToolTip(this.Button1, "Hello");
}
기본 툴팁의 경우 다음을 사용할 수 있습니다.
System.Windows.Forms.ToolTip ToolTip1 = new System.Windows.Forms.ToolTip();
ToolTip1.SetToolTip(this.textBox1, "Hello world");
도구 설명 메시지의 형식이 필요한 경우 사용자 정의 도구 설명을 사용할 수도 있습니다.양식을 사용자 지정 형식으로 지정하고 컨트롤의 마우스 호버 이벤트에서 도구 설명 대화 상자로 사용하여 이를 만들 수 있습니다.자세한 내용은 아래 링크를 참조하십시오.
http://newapputil.blogspot.in/2015/08/create-custom-tooltip-dialog-from-form.html
태그 속성에 텍스트를 저장하는 게으르고 압축적인 방법
약간 게으르고 다른 용도로 컨트롤의 Tag 속성을 사용하지 않는 경우 툴팁 텍스트를 저장하고 이러한 모든 컨트롤에 MouseHover 이벤트 핸들러를 한 번에 할당할 수 있습니다.
private System.Windows.Forms.ToolTip ToolTip1;
private void PrepareTooltips()
{
ToolTip1 = new System.Windows.Forms.ToolTip();
foreach(Control ctrl in this.Controls)
{
if (ctrl is Button && ctrl.Tag is string)
{
ctrl.MouseHover += new EventHandler(delegate(Object o, EventArgs a)
{
var btn = (Control)o;
ToolTip1.SetToolTip(btn, btn.Tag.ToString());
});
}
}
}
이 경우 Tag 속성에 문자열이 있는 모든 버튼에 MouseHover 이벤트가 할당됩니다.압축을 유지하기 위해 MouseHover 이벤트는 람다 식을 사용하여 인라인으로 정의됩니다.이 경우 버튼을 호킹하면 해당 태그 텍스트가 도구 설명에 할당되어 표시됩니다.
.NET 프레임워크는 ToolTip 클래스를 제공합니다.양식에 이러한 항목 중 하나를 추가한 다음 도구 설명을 원하는 각 항목에 대해 마우스호버 이벤트에서 다음과 같은 작업을 수행합니다.
private void checkBox1_MouseHover(object sender, EventArgs e)
{
toolTip1.Show("text", checkBox1);
}
private void Form1_Load(object sender, System.EventArgs e)
{
ToolTip toolTip1 = new ToolTip();
toolTip1.AutoPopDelay = 5000;
toolTip1.InitialDelay = 1000;
toolTip1.ReshowDelay = 500;
toolTip1.ShowAlways = true;
toolTip1.SetToolTip(this.button1, "My button1");
toolTip1.SetToolTip(this.checkBox1, "My checkBox1");
}
Dave K의 답변을 바탕으로 컨트롤 확장을 만들었습니다.
public static void SetToolTip(this Control control, string txt)
{
new ToolTip().SetToolTip(control, txt);
}
그런 다음 한 줄로 모든 컨트롤에 대한 도구 설명을 설정할 수 있습니다.
this.MyButton.SetToolTip("Hello world");
쿨 툴 팁 코드는 다음과 같습니다.
1.ToolTip 개체 초기화
2.당신이 창의력을 발휘하고 싶을 때 그리고 어디서 객체를 불러보세요.
Ex-
ToolTip t=new ToolTip();
t.setToolTip(textBoxName,"write your message here what tp you want to show up");
예, 마우스 호버 이벤트를 처리하고 도구 팁을 표시하라고 말하면 됩니다. 이는 글로벌 또는 생성자에서 다음을 사용하여 정의된 도구 팁입니다.
ToolTip t = new ToolTip();
이벤트 핸들러:
private void control_MouseHover(object sender, EventArgs e)
{
t.Show("Text", (Control)sender);
}
언급URL : https://stackoverflow.com/questions/168550/display-a-tooltip-over-a-button-using-windows-forms
'programing' 카테고리의 다른 글
VSCode에서 모듈 '@angular/core' 또는 다른 모듈을 찾을 수 없습니다. (0) | 2023.05.09 |
---|---|
이미 대상 분기에 있는 커밋을 표시하는 GitHub 풀 요청 (0) | 2023.05.09 |
오류 NG6002: AppModule의 NgModule.imports에 표시되지만 NgModule 클래스로 확인할 수 없습니다. (0) | 2023.05.09 |
Git, 저장소에 관련 없는 분기를 도입하는 간단한 방법이 있습니까? (0) | 2023.05.09 |
Xcode에는 코드 자동 포맷 기능이 있습니까? (0) | 2023.05.09 |