티스토리 뷰
private Rectangle dragBoxFromMouseDown;
private int rowIndexFromMouseDown;
private int rowIndexOfItemUnderMouseToDrop;
private void ItemGrid_MouseMove(object sender, MouseEventArgs e)
{
if ((e.Button & MouseButtons.Left) == MouseButtons.Left)
{
if (dragBoxFromMouseDown != Rectangle.Empty &&
!dragBoxFromMouseDown.Contains(e.X, e.Y))
{
DragDropEffects dropEffect = ItemGrid.DoDragDrop(ItemGrid.Rows[rowIndexFromMouseDown], DragDropEffects.Move);
}
}
}
private void ItemGrid_MouseDown(object sender, MouseEventArgs e)
{
rowIndexFromMouseDown = ItemGrid.HitTest(e.X, e.Y).RowIndex;
if (rowIndexFromMouseDown != -1)
{
Size dragSize = SystemInformation.DragSize;
dragBoxFromMouseDown = new Rectangle(new Point(e.X - (dragSize.Width / 2), e.Y - (dragSize.Height / 2)), dragSize);
}
else
dragBoxFromMouseDown = Rectangle.Empty;
}
private void ItemGrid_DragDrop(object sender, DragEventArgs e)
{
Point clientPoint = ItemGrid.PointToClient(new Point(e.X, e.Y));
rowIndexOfItemUnderMouseToDrop = ItemGrid.HitTest(clientPoint.X, clientPoint.Y).RowIndex;
if (e.Effect == DragDropEffects.Move)
{
Item item = ItemList[rowIndexFromMouseDown];
ItemList.RemoveAt(rowIndexFromMouseDown);
ItemList.Insert(rowIndexOfItemUnderMouseToDrop, item);
}
ItemGrid.Rows[rowIndexOfItemUnderMouseToDrop].Selected = true; // 드래그해서 놓은 위치에 선택
}
private void ItemGrid_DragOver(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Move;
}
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 이 행은
- C# textbox 커서 위치
- MySQL
- 베란타
- 코딩
- 방울토마토
- C# textbox 커서 시작
- c# 음성
- 이베스트
- ESP32
- Xingapi
- c#
- C# textbox 커서 마지막
- c# SpeechSynthesizer
- 베란다 방울토마토
- 암호화
- 드론
- C# 마우스 폼이동
- 시스템트레이딩
- 인삼키우기
- NET FRAMEWORK
- 베란다 텃밭
- 스털링엔진
- framework
- ArgumentException
- 복호화
- 스털링
- c# Speech
- 앉은뱅이 방울토마토
- imemode
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
글 보관함