'C샵~'에 해당되는 글 5건

  1. 2009.07.03 폼 이벤트 정리
  2. 2009.07.03 마우스 이벤트 정리
  3. 2009.07.02 프로세스및스레드
2009.07.03 23:19

폼 이벤트

publicpartialclassForm1:Form

{

privateboolNetworkConnect;

privateboolInitial =true

privateRectangleRect;

privatestringStrSize;

publicForm1()

{

InitializeComponent();

}

 

privatevoidForm1_Load(objectsender,EventArgse)

{

if(Initial==false)//생성자에코드삽입시문제발생생성자에서닫아버리면;??

{

MessageBox.Show("초기화실패,"Initial값);

Close();

}

 

NetworkConnect =true

Text ="네트워크에연결되었습니다

}

privatevoidForm1_FormClosed(objectsender,FormClosedEventArgse)

{//폼이닫힐때

NetworkConnect =false

}

privatevoidForm1_FormClosing(objectsender,FormClosingEventArgse)

{//폼이닫히기직전발생

if(MessageBox.Show("정말종료하시겠습니까,"질문,

MessageBoxButtons.YesNo) ==DialogResult.No)

{

e.Cancel =true

}

}

 

privatevoidForm1_Layout(objectsender,LayoutEventArgse)

{

Rect = ClientRectangle;

Rect.Inflate(-10, -10);

StrSize =string.Format("폭{0},높이{1}", Rect.Width, Rect.Height);

Invalidate();

}

 

privatevoidForm1_Paint(objectsender,PaintEventArgse)

{

e.Graphics.DrawEllipse(Pens.Black, Rect);

e.Graphics.DrawString(StrSize, Font,Brushes.Black, 0, 0);

}

 

privatevoidForm1_Activated(objectsender,EventArgse)

{//활성상태

BackColor =Color.HotPink;

}

 

privatevoidForm1_Deactivate(objectsender,EventArgse)

{//비활성상태

BackColor =Color.Gray;

}

 

privatevoidForm1_Shown(objectsender,EventArgse)

{//폼후실행완료되기전딱한번실행시킬때사용

MessageBox.Show("한번만실행시킬때사용,"폼이벤트);

}

 

}

'C샵~' 카테고리의 다른 글

폼 이벤트 정리  (0) 2009.07.03
마우스 이벤트 정리  (0) 2009.07.03
프로세스및스레드  (0) 2009.07.02
DLL작성  (0) 2009.07.02
기본 연산자와 개념 #1  (0) 2009.07.01
Posted by hyunny82

마우스 이벤트 정리

publicpartialclassForm1:Form

{

privateintcount = 0;

privateintcount2 = 0;

privateArrayListar;

privateintx, y;

privateintwheel = 10000;

privatestringstatus;

publicForm1()

{

InitializeComponent();

ar =newArrayList();

status ="알수없음

}

 

privatevoidForm1_MouseDown(objectsender,MouseEventArgse)

{

GraphicsG = CreateGraphics();

G.DrawEllipse(Pens.Red, e.X, e.Y, 10, 10);

ar.Add(newPoint(x=e.X, y=e.Y));

G.Dispose();

Invalidate();

}

 

privatevoidForm1_Paint(objectsender,PaintEventArgse)

{

foreach(Pointpinar)

{

e.Graphics.DrawEllipse(Pens.Red, p.X, p.Y, 10, 10);

e.Graphics.DrawString("Click", Font,Brushes.Black, p.X, p.Y);

}

e.Graphics.DrawString(status, Font,Brushes.Black, 10, 10);

e.Graphics.DrawString(count2.ToString(), Font,Brushes.Black, 10, 30);

}

privatevoidForm1_MouseClick(objectsender,MouseEventArgse)

{

GraphicsG = CreateGraphics();

G.DrawString("Click", Font,Brushes.Black, e.X, e.Y);

G.Dispose();

}

 

privatevoidForm1_MouseDoubleClick(objectsender,MouseEventArgse)

{

GraphicsG = CreateGraphics();

G.DrawString("Double Click", Font,Brushes.Black, e.X, e.Y);

G.Dispose();

}

privatevoidForm1_Click(objectsender,EventArgse)

{

count++;

Text = count.ToString()+"현재휠값+wheel.ToString();

}

privatevoidForm1_MouseMove(objectsender,MouseEventArgse)

{

if(Capture && e.Button ==MouseButtons.Left)

{

GraphicsG = CreateGraphics();

G.DrawLine(Pens.Black, x, y, e.X, e.Y);

x = e.X;

y = e.Y;

G.Dispose();

}

}

 

privatevoidForm1_MouseWheel(objectsender,MouseEventArgse)

{

wheel += e.Delta;

Invalidate();

}

 

privatevoidForm1_MouseEnter(objectsender,EventArgse)

{

status ="컨트롤안으로들어옴

Invalidate();

}

 

privatevoidForm1_MouseHover(objectsender,EventArgse)

{

count2++;

Invalidate();

}

 

privatevoidForm1_MouseLeave(objectsender,EventArgse)

{

status ="컨트롤바깥으로나갔다

Invalidate();

}

}

'C샵~' 카테고리의 다른 글

폼 이벤트 정리  (0) 2009.07.03
마우스 이벤트 정리  (0) 2009.07.03
프로세스및스레드  (0) 2009.07.02
DLL작성  (0) 2009.07.02
기본 연산자와 개념 #1  (0) 2009.07.01
Posted by hyunny82
2009.07.02 21:38

프로세스

스레드의 생성

staticvoidThreadProc()

{

for(inti = 0; i < 10; i++)

{

Console.WriteLine(i);

Thread.Sleep(500);

}

Console.WriteLine("작업스레드종료);

}

 

staticvoidMain(string[] args)

{

ThreadT =newThread(newThreadStart(ThreadProc));

T.Start();

...

}

 

이름

설명

Thread(ParameterizedThreadStart)

스레드가 시작될 때 스레드로 개체가 전달될 수 있도록 하는 대리자를 지정하여Thread클래스의 새 인스턴스를 초기화합니다.

Thread(ThreadStart)

Thread클래스의 새 인스턴스를 초기화합니다.

Thread(ParameterizedThreadStart, Int32)

스레드가 시작될 때 스레드로 개체가 전달될 수 있도록 하는 대리자를 지정하고 스레드의 최대 스택 크기를 지정하여Thread클래스의 새 인스턴스를 초기화합니다.

 

Thread(ThreadStart, Int32)

스레드의 최대 스택 크기를 지정하여Thread클래스의 새 인스턴스를 초기화합니다.

생성자가 받는 인수의 델리게이트 타입

[ComVisibleAttribute(true)]

public delegate void ThreadStart()

[ComVisibleAttribute(false)]

public delegate void ParameterizedThreadStart(

Objectobj

)

각종 스레드 프로퍼티, 메소드는 레퍼런스 참조.

동기화는 lock{}을 이용하여 atomic 보장.

 

프로세스 생성

public static Process start() 메소드 이용. 레퍼런스 참조.

ProcessProc =Process.Start("notepad.exe");

Thread.Sleep(5000);

Proc.Kill(); //CloseMainWindow는 강제 종료하지 않고 프로세스에게 종료 메시지 전달

 

'C샵~' 카테고리의 다른 글

폼 이벤트 정리  (0) 2009.07.03
마우스 이벤트 정리  (0) 2009.07.03
프로세스및스레드  (0) 2009.07.02
DLL작성  (0) 2009.07.02
기본 연산자와 개념 #1  (0) 2009.07.01
Posted by hyunny82
이전버튼 1 2 이전버튼

티스토리 툴바