loading

프로그래밍/C#

[C#] 마우스 위치에 따라서 Control의 배경색상 변경하기

침착곰 2021. 5. 28. 15:17
반응형

안녕하세요

이번 포스팅에서는 C# WinForm에서 Control들에 마우스를 올리고 내릴 경우 배경 색상을 변경하는 방법에 대해서 알아보겠습니다

 

목차

첨부파일
디자인
예제 코드
결과 화면

 


첨부파일

제가 작성한 프로그램의 전체 소스 압축파일입니다

포스팅만의 내용으로 이해가 안 되신다면 파일을 다운로드받아 참고 바랍니다

BGChangeMouse.zip
0.04MB

 


디자인

디자인은 간단하게 했습니다

도구 상자에서 Panel을 Form에 추가해줍니다

기본 색상으로 하면 Form의 색상과 구분이 되지 않으므로 BackColor는 검은색으로 변경하였습니다

 


예제 코드

먼저 패널에 대한 이벤트를 추가해야 합니다

패널을 선택하여 이벤트 탭으로 이동합니다

"MouseHover", "MouserLeave"를 더블클릭하면 cs파일에 이벤트가 추가됩니다

MouseHover는 마우스가 패널에 일정시간동안 올라오면 이벤트를 실행합니다

MouseLeave는 마우스가 판넬 밖으로 떠났을 때 이벤트를 실행합니다

 

using System;
using System.Drawing;
using System.Windows.Forms;

namespace BGChangeMouse
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        // 판넬로 마우스가 들어왔을 때
        private void panel1_MouseHover(object sender, EventArgs e)
        {
            this.panel1.BackColor = Color.White;
        }

        // 판넬로 마우스가 떠났을 때
        private void panel1_MouseLeave(object sender, EventArgs e)
        {
            this.panel1.BackColor = Color.Black;
        }
    }
}

전체 코드입니다

MouseHover 이벤트에는 배경 색상을 흰색으로,

MouseLeave 이벤트에는 배경색상을 검은색으로 변경합니다

이제 프로그램을 실행해보겠습니다

 


결과 화면

패널에 마우스를 올리면 위에처럼 배경 색상이 흰색으로 바뀝니다

여기까지 C# WinForm의 마우스 위치에 따라 Control의 배경 색상을 변경하는 방법에 대해서 알아봤습니다

반응형
그리드형