按鈕的拖拽複製

2021-06-19 18:42:14 字數 1935 閱讀 6730

中古系統中,有乙個「儲存布局」頁面,用vb.net做;設計的技術有:按鈕的拖拽複製,動態生成**,動態生成按鈕,布局的儲存主要是這些,大家是不是覺的很簡單!昨天對自己這段時間的學習進行了回顧,又重新整理了一下**。當我寫這篇部落格的時候突然感覺,這些真的挺簡單啊!  但實際我做的時候,但遠遠不止這些。  

通過做這一塊內容,我深深的感覺到自己知識積累的匱乏,學習沒有章法,儘管很簡單的問題,而自己仍然是處處碰壁。自身的這些問題,還有很多,在努力改正中。

現在和大家分享一下,「拖拽複製功能」的實現,如有問題,請指正。

這裡涉及到三個事件:

mousedown事件:當滑鼠指標在元件上方並按下滑鼠按鈕時發生。

dragdrop事件:拖放操作完成時發生

dragenter事件:拖動首次進入某控制項(panel1)邊界時就開始觸發該事件。 

具體**如下(**只摘錄有拖拽複製部分。):

'按下按鈕時的產生的效果

private sub button1_mousedown(sender as system.object, e as system.windows.forms.mouseeventargs) handles button1.mousedown

'左鍵的話,標誌位為true(表示拖拽開始)

if (e.button = windows.forms.mousebuttons.left) then

button1.dodragdrop(button1, dragdropeffects.copy or dragdropeffects.move) '形成拖拽效果,移動+拷貝的組合效果

end if

end sub

'當button被拖拽到winform上時候,滑鼠效果出現

private sub form2_dragenter(sender as object, e as drageventargs) handles button1.dragenter, groupbox1.dragenter, panel1.dragenter, mybase.dragenter

if (e.data.getdatapresent(gettype(button))) then

e.effect = dragdropeffects.copy

end if

end sub

'拖拽釋放後,在矩形框動態生成按鈕

private sub panel1_dragdrop(sender as object, e as drageventargs) handles panel1.dragdrop

'計算滑鼠在panel中的相對位置

dim p as point = new point(0, 0)

p.x = e.x - ctype(sender, panel).left - 4

p.y = e.y - ctype(sender, panel).top - 15

'拖放完畢之後,自動生成新按鈕

dim btn = new button

panel1.controls.add(btn)

'btn.tag = rs.name.substring(5, 2) '從第6個字元起,取兩個字元,「shape01」取出「01」

btn.size = new size(rs.size.width + 1, rs.size.height + 1)

btn.location = rs.location

btn.backgroundimage = button1.backgroundimage

end sub

效果圖:

當時蒐集資料,寫**的時候,各種亂,當我靜下心來寫這篇部落格的時候,才知道這個功能只用了三個事件就ok.   我想這就是總結或是顆粒歸藏的功效吧。

Android 按鈕拖拽

先看看圖 裡面主要是乙個button,根據ontouchlistener來實現 主要實現 bt.setontouchlistener object ontouchlistener motionevent.action move if right screenwidth 如果top 0,則是上移,下邊...

WPF 實現按鈕的任意拖拽

wpf 實現按鈕的任意拖拽 在不影響主窗體布局的情況下,任意拖動乙個button。主要是通過建立無邊框透明子窗體實現,前端 如下 x class topmosttest.topmost xmlns xmlns x title topmost height 98 width 76 windowstar...

複製網頁的按鈕

在開發的 中,原本網頁腳已經有乙個銨鈕,是匯出資料的功能。由於某些網頁內容太長,每次均需要滾至頁尾,才可以找到那個銨鈕,如果把此銨鈕移至頁頭,當使用者瀏覽至頁尾時,想做匯出動作,又得把網頁滾至網頁頭。因此客戶提出要求,需要在網頁的頁頭與頁尾均放乙個銨鈕,功能是一樣的。解決辦法,拉乙個銨鈕至網頁頭,o...