[C#] 마우스를 올려놨을 때 이미지를 미리 볼 수 있는 기능 예시 [Tooltip/Image]
2021. 1. 18. 09:56ㆍC#
사용한 Visual Studio 환경
더보기
Visual Studio Community 2019
vs_community__468244237.1605342870
Label에 마우스를 올려놓으면, 예시 이미지가 뜨는 기능
이미지는 귀여운 죠르디
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void label1_MouseHover(object sender, EventArgs e)
{
ToolTip tt = new ToolTip();
tt.OwnerDraw = true;
tt.Popup += new System.Windows.Forms.PopupEventHandler(this.tt_Popup);
tt.Draw += new System.Windows.Forms.DrawToolTipEventHandler(this.tt_Draw);
tt.SetToolTip(label1, "Connection");
}
private void tt_Popup(object sender, PopupEventArgs e)
{
//Image resolution 따져서 tooltip size Set
Image explanationImage = WindowsFormsApp1.Resource1.niniz ;
int image_wid = WindowsFormsApp1.Resource1.niniz.Width;
int image_hgt = WindowsFormsApp1.Resource1.niniz.Height;
e.ToolTipSize = new Size(image_wid, image_hgt);
}
private void tt_Draw(object sender, DrawToolTipEventArgs e)
{
e.DrawBackground();
e.DrawBorder();
Image explanationImage = WindowsFormsApp1.Resource1.niniz;
Brush myBackColorBrush = Brushes.Black;
Rectangle myImageRectangle = new Rectangle(Cursor.Position.X, Cursor.Position.Y, explanationImage.Width, explanationImage.Height);
if (explanationImage != null)
{
e.Graphics.FillRectangle(myBackColorBrush, e.Bounds);
e.Graphics.DrawImage(explanationImage, 0, 0);
}
}
}
}
그림이 나오는 위치의 기본값은, Cursor가 현재 위치하는 곳으로 설정
이미지 width, space 만큼 Popup크기를 설정한 상태.
Label에 마우스 올려놓을 시 이미지가 미리 보여지는 기능
[Tooltip 사용]
'C#' 카테고리의 다른 글
Copilot Tab키 말고 다른키로도 설정하는법 (0) | 2024.10.24 |
---|---|
Visual Assist X Alt+O 안 먹힐때 (0) | 2024.10.24 |
[C#] CAD Fillet 기능 구현 예시 [도형의 모서리를 둥글게 하는 작업] (0) | 2021.01.18 |