드래그 앤 드랍!
드레그 앤 드랍 테스트 및 구현.
소스 = > 대상
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 |