티스토리 뷰
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 = Condition1Grid.DoDragDrop(Condition1Grid.Rows[rowIndexFromMouseDown], DragDropEffects.Move);
}
}
}
private void ItemGrid_MouseDown(object sender, MouseEventArgs e)
{
rowIndexFromMouseDown = Condition1Grid.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 = Condition1Grid.PointToClient(new Point(e.X, e.Y));
rowIndexOfItemUnderMouseToDrop = Condition1Grid.HitTest(clientPoint.X, clientPoint.Y).RowIndex;
if (e.Effect == DragDropEffects.Move)
{
Item item = ItemList[rowIndexFromMouseDown];
ItemList.RemoveAt(rowIndexFromMouseDown);
ItemList.Insert(rowIndexOfItemUnderMouseToDrop, item);
}
Condition1Grid.Rows[rowIndexOfItemUnderMouseToDrop].Selected = true; // 드래그해서 놓은 위치에 선택
}
private void ItemGrid_DragOver(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Move;
}
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 이베스트
- 코딩
- C# textbox 커서 위치
- c# SpeechSynthesizer
- c#
- 방울토마토
- 베란타
- C# textbox 커서 시작
- ESP32
- ArgumentException
- MySQL
- 베란다 텃밭
- C# textbox 커서 마지막
- 암호화
- 드론
- C# 마우스 폼이동
- Xingapi
- imemode
- 이 행은
- 인삼키우기
- c# 음성
- framework
- 베란다 방울토마토
- 복호화
- NET FRAMEWORK
- 스털링엔진
- 앉은뱅이 방울토마토
- c# Speech
- 시스템트레이딩
- 스털링
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함