퇴근5분전

드레그 앤 드랍 테스트 및 구현.

소스             = >           대상

0.대상.AllowDrop  = true;

1. 소스.MouseDown, Move, Up 중에
소스.DoDragDrop() 호출하면서 전달데이타 패킹
 ex) 소스.DoDragDrop( "Drag&Drop", DragDropEffects.All | DragDropEffects.Copy  );
 
2. 대상.DragOver 이벤트에서 e.Effect 를 결정
 ex) e.Effect =  DragDropEffects.All;

3. 대상.DragDrop 이벤트
        ex)
 if (e.Data.GetDataPresent(typeof(System.String)))
 {
  Object item = (object)e.Data.GetData(typeof(System.String));
  // Perform drag and drop, depending upon the effect.
//  if (e.Effect == DragDropEffects.All)// Over에서 Effect에 열거형과 같은지 체크해서 적용여부결정
//  {               
   this.textBox1.Text = item.ToString();   
//  }
 }        

간단하게  정리 한것이며.
복잡하게 구현될수도 있음.

차후 디자이너 같은 프로그램을 만들어낼 때 한번 해볼까 싶다.


// 예제 소스중에 일부..  아래순서대로 일어나게됨.

textBox1.ArowDrop = true;   상태임.

private void button1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
  {
   if ((e.Button & MouseButtons.Left) == MouseButtons.Left)
   {
    button1.DoDragDrop( "Drag&Drop", DragDropEffects.All | DragDropEffects.Copy  );
   }
  }

  private void textBox1_DragOver(object sender, System.Windows.Forms.DragEventArgs e)
  {
   e.Effect =  DragDropEffects.All;
  }

  private void textBox1_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
  {

   if (e.Data.GetDataPresent(typeof(System.String)))
   {

    Object item = (object)e.Data.GetData(typeof(System.String));

    // Perform drag and drop, depending upon the effect.
//    if (e.Effect == DragDropEffects.Copy)
//    {               
     this.textBox1.Text = item.ToString();   
//    }
   }  
  }

처리되는 이미지 캡쳐가 안되서 이미지 첨부 안함!


훈스에 트리뷰 관련해서 드래그앤드랍으로 답변단것이 있음
찾아서 올려야징!

'# 2) .Net ( Vs 2005 ) > 기타' 카테고리의 다른 글

게임 챗팅창처럼...  (0) 2009.05.09
드레그 앤 드랍! (2)  (0) 2009.05.09
Ms-Sql을 띠우자!  (0) 2009.05.08
데이타테이블 컬럼위치 바꾸기  (0) 2009.05.08
이벤트  (0) 2009.05.08