반응형
윈폼 MouseLeave, MouseMove, DoubleClick이벤트 사용해보기
도구상자에서 버튼하나를 생성해주자.
using System.Windows.Forms;
namespace _20200818_007WinForm1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, System.EventArgs e)
{
this.Text = "버튼 눌러지면 이 글이 뜬다.";
}
}
}
실행해서 버튼을 클릭해주면 ""안에 적어둔 Text가 뜨는 것을 볼 수 있을 것이다.
더블클릭을 했을때 추가되는 이벤트를 작성해보자.
using System.Windows.Forms;
namespace _20200818_007WinForm1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_DoubleClick(object sender, System.EventArgs e)
{
FactBtn.Text = "더블 클릭 했구나?";
}
}
}
윈폼 코드안에서 메서드안에 변수랑 if문을 추가해보자.
using System.Windows.Forms;
namespace _20200818_007WinForm1
{
public partial class Form1 : Form
{
bool bButton = false; // 더블클릭 이벤트에 추가해줄 변수(false를 가지고있다)
public Form1()
{
InitializeComponent();
}
private void Form1_DoubleClick(object sender, System.EventArgs e)
{
// 더블클릭하면 false, true가 바뀌면서 출력값이 바뀐다.
if (bButton == false)
{
FactBtn.Text = "더블 클릭 했구나?";
bButton = true;
}
else
{
FactBtn.Text = "헬로키티는 천국못가나?";
bButton = false;
}
}
}
}
마우스를 갖다대거나 떼면 발생하는 이벤트를 작성해보자.
using System.Windows.Forms;
namespace _20200818_007WinForm1
{
public partial class Form1 : Form
{
bool bButton = false;
public Form1()
{
InitializeComponent();
}
private void Form1_DoubleClick(object sender, System.EventArgs e)
{
if (bButton == false)
{
FactBtn.Text = "더블 클릭 했구나?";
bButton = true;
}
else
{
FactBtn.Text = "또 더블 클릭했구나?";
bButton = false;
}
}
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
Text = "마우스 올라오면 이 글이 보인다";
}
private void Form1_MouseLeave(object sender, System.EventArgs e)
{
Text = "마우스를 떠나보내면 이 글이 보인다";
}
private void FactBtn_MouseMove(object sender, MouseEventArgs e)
{
FactBtn.Text = "버튼에 마우스 갖다대면 이 글이 보인다.";
}
private void FactBtn_MouseLeave(object sender, System.EventArgs e)
{
FactBtn.Text = "버튼에 마우스를 떼면 이 글이 보인다.";
}
}
}
텍스트 박스에서 엔터를치면 버튼의 글자가 바뀌는 이벤트를 짜보자.
텍스트박스를 두개를 생성해주자.
이벤트를 KeyCode로 해줘야하는데, 이걸로 키를 특별하게 설정을해줘야 일반 키를 눌러도 이벤트가 발생하지 않는다.
// 텍스트박스1에 글자를 입력하고 엔터를 누르면 발생하는 이벤트
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if(e.KeyCode == Keys.Enter)
{
FactBtn.Text = textBox1.Text; // FactBtn.Text가 textBox1.text에 대입된다. -> 텍스트박스의 글자가 버튼 글자가 된다.
}
}
텍스트 박스1에 입력해서 엔터를 누르면 텍스트박스2에 출력되도록 해보자.
// 텍스트박스1에 글자를 입력하고 엔터를 누르면 텍스트박스2에 출력되는 이벤트
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
textBox2.Text = textBox1.Text;
// textBox1.Text가 textBox2.text에 대입된다. -> 텍스트박스1의 글자가 텍스트박스2의 글자가 된다.
}
}
텍스트박스1에 입력하고 버튼을 클릭하면 텍스트박스2에 출력되는 이벤트도 만들어보자.
//버튼을 클릭하면 텍스트박스1의 글자가 텍스트박스2에 입력되는 이벤트
private void FactBtn_Click(object sender, System.EventArgs e)
{
textBox2.Text = textBox1.Text;
}
반응형
'개발자과정준비 > WinForm' 카테고리의 다른 글
[Winform] 윈폼 복습 4. 텍스트박스, 레이블, 버튼 컨트롤 (0) | 2020.08.22 |
---|---|
[Winform] 윈폼 복습 3. Form 클래스와 두 개의 폼 띄우기 (1) | 2020.08.21 |
[Winform] 윈폼 복습 1. 프로젝트의 생성 (0) | 2020.08.19 |
[Winform] 윈폼 템플릿 없이 윈폼 프로그램을 만드는 방법 (0) | 2020.08.19 |
[WinForm] 윈폼 소코반 만들기(푸쉬푸쉬 게임 만들기) (0) | 2020.07.20 |