建立可拖動控制項

2021-04-19 02:24:16 字數 2100 閱讀 2422

using system;

using system.windows.forms;

using system.drawing;

namespace controlcollect.web.controls

;#endregion

#region 建構函式

/**

/// 構造控制項拖動物件

///

/// 需要拖動的控制項

public controlmove(control movecontrol)

createtextbox();

create();

//control_click((object)sender, (system.eventargs)e);

}#endregion

#region 需拖動控制項鍵盤事件

private void textbox_keydown(object sender, system.windows.forms.keyeventargs e)

if (e.keyvalue == 46)

_mcontrol.parent.controls.remove(_mcontrol);

_textbox.parent.controls.remove(_textbox);

}if (e.keyvalue == 17)

}#endregion

#region 需拖動控制項滑鼠事件

private void control_click(object sender, system.eventargs e)}}

}private void control_mousedown(object sender, system.windows.forms.mouseeventargs e)

hidehandles();

}private void control_mouseup(object sender, system.windows.forms.mouseeventargs e)

private void control_mousemove(object sender, system.windows.forms.mouseeventargs e)

//_mcontrol.cursor=cursors.sizeall;

}#endregion

#region 調整大小觸模柄滑鼠事件

private void handle_mousedown(object sender, mouseeventargs e)

// 通過觸模柄調整控制項大小

//    0   1   2

//  7       3

//  6   5   4

private void handle_mousemove(object sender, mouseeventargs e)

l =(l<0)?0:l;

t =(t<0)?0:t;

_mcontrol.setbounds(l,t,w,h);}}

private void handle_mouseup(object sender, mouseeventargs e)

#endregion

#region private方法

private void create()

hidehandles();

}private void createtextbox()

private void controllocality()

if (_mcontrol.location.y < 0)

if (_mcontrol.location.x + _mcontrol.width > _mcontrol.parent.width)

if (_mcontrol.location.y + _mcontrol.height > _mcontrol.parent.height)

}private void hidehandles()

}private void movehandles()

;int arrposy = new int ;

for(int i=0; i<8; i++)

}private void showhandles()}}

#endregion}}

c 自定義可拖動變形控制項

public class 控制項移動變形類 usercontrol 控制項類 rectangle 傳遞控制項 傳遞控制項相對於本控制項的範圍 rectangle 本控制項 本控制項相對於自己的範圍 rectangle 調節點邊框 new rectangle 8 8個點相對於本控制項的範圍 recta...

可拖動面板

js dragfunc function id document mousemove function e titile.mouseup function 繫結滑鼠移動事件到 document上 為什麼 這個我也寫過拖動的 遇到和你一樣的情況 確實是div不能繫結mousedown 或者mouse什...

C 建立可以隨意拖動的控制項

經常進行圖形介面設計的程式設計者肯定知道,控制項在設計的時候才能隨意拖動,執行的時候就不能拖動了.你肯定會問 執行時能隨意拖動控制項嗎?答案是肯定的,我們的專案涉及到了這一點,我已經實現了,實際上很簡單的喲.我就拿出來給你們show一下,哈哈,各位高手不要笑我喲.我們先從簡單的入手,一步一步的來吧 ...