TextBox에 드래그앤드랍 구현하기.!
드래그앤드롭 구현인데
SQL Management 처럼
테이블 트리에서 -> 에디터폼에 목록 드래그시 Text 마우스 커서 위치에
데이타 넣는 처리.
훈스에서 어떤 분이 질문한거 잠깐 구현해서 넣었음.
이를 글로 적어둠.
TextBox에 드래그오버시 Textbox에 캐럿을 마우스현위치로 이동시키는 처리가 필요했음.
GetPositionFromCharIndex 과
GetCharIndexFromPosition 로 처리가 가능해짐.
textBox.ArrowDrop = true;
private void button3_MouseDown(object sender, MouseEventArgs e)
{
textBox1.DoDragDrop(button3.Text, DragDropEffects.All);
}
private void textBox1_DragEnter(object sender, DragEventArgs e)
{
textBox1.Focus();
e.Effect = e.AllowedEffect;
}
private void textBox1_DragOver(object sender, DragEventArgs e)
{
if ((textBox1.PointToClient(new Point(e.X, e.Y)).X ) > textBox1.GetPositionFromCharIndex(this.textBox1.TextLength - 1).X)
{
this.textBox1.SelectionStart = this.textBox1.TextLength;
}
else
{
textBox1.SelectionStart = textBox1.GetCharIndexFromPosition(textBox1.PointToClient(new Point(e.X, e.Y)));
}
}
private void textBox1_DragDrop(object sender, DragEventArgs e)
{
this.textBox1.Paste(e.Data.GetData( typeof(string)).ToString());
}
'# 2) .Net ( Vs 2005 ) > WinForm' 카테고리의 다른 글
TextBox 페인트 이벤트 걸기. (2) | 2009.08.24 |
---|---|
ControlPaint 객체.. (0) | 2009.08.20 |
ErrorProvider 라는게 있음. (0) | 2009.08.18 |
바인딩네비게이터와 프로퍼티그리드 연결 (0) | 2009.08.18 |
바인딩 네비게이터 (0) | 2009.08.14 |