728x90

지정된 타이머 간격이 경과되고 타이머를 사용할 수 있을 때 발생다.


도구상자에서 타이머를 끌어다 놓는다.


타이머를 선택하고 이벤트 아이콘을 클릭하여 Tick 이벤트를 더블 클릭한다.



this.timer1.Tick += new System.EventHandler(this.timer1_Tick); 다.

private void timer1_Tick(object sender, EventArgs e)
{
    timer1.Enabled = false;
    listView_MyItem(listView1);  //
타이머에서 동작시킬 사용자 함수
}


위의 굵은 글씨 부분을 보면 User가 직접 작성하는 코드를 어떻게 추가하는지를 알 수 있다.

마우스 휠 이벤트는 제공하지 않는데 마우스 휠 이벤트를 추가하는 방법은

this.listView1.MouseWheel += new MouseEventHandler(this.listView_MouseWheel); // 마우스 휠 이벤트

private void listView_MouseWheel(object sender, MouseEventArgs e)
{
    listView_MyItem(listView1);  // 사용자 함수
    timer1.Enabled = true;
}


리턴타입은 void, 두개의 argument를 받는 데, 첫번째 인자는 object 타입, 두번째 인자는 EventArgs의  자식클래스이다.


필요에 따라 timer1.Interval = 5000; // 5초 단위

로 설정하면 된다. bool flag 와 같이 코딩할 수도 있다.


Designer.cs 파일에서 timer 찾기로 찾아보니

this.timer1 = new System.Windows.Forms.Timer(this.components);

this.timer1.Tick += new System.EventHandler(this.timer1_Tick);

private System.Windows.Forms.Timer timer1;

이 3줄이 추가되어 있다.


다른 걸 좀 더 찾아보니

this.listView1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.listView1_MouseClick);

이렇게 추가되어 있다. 마우스 휠 이벤트도 정확하게는

this.listView1.MouseWheel += new System.Windows.Forms.MouseEventHandler(this.listView_MouseWheel); 로 적어주는게 맞는가 보다.


http://www.csharpstudy.com/CSharp/CSharp-event.aspx 에 보면 이벤트 핸들러 설명이 잘 되어 있다.



제공하는 이벤트가 아니라 직접 타이머를 만들어서 사용할 때를 알아보자.

System.Windows.Forms.Timer mytimer = new System.Windows.Forms.Timer();

는 전역변수 선언공간에 선언한다.



mytimer.Interval = 100;

mytimer.Tick += new EventHandler(timer_tick);

mytimer.Start();


void timer_tick(object sender, System.EventArgs e)
{
      수행할 작업
      mytimer.Stop();
}


다.








블로그 이미지

Link2Me

,