c 實現Picturebox的滑鼠拖拽功能

2021-08-04 22:53:17 字數 1140 閱讀 1793

##要求及背景

工作需要,要在乙個form裡面實現乙個實時預覽的picturebox影象,由於picturebox可能會遮擋到其後面的畫面,所以要求picturebox可以由使用者自行拖拽,類似於懸浮框。

##原理說明

在網上兜了幾圈之後,決定用三段**實現。首先要註冊滑鼠的三個事件:移動、滑鼠左鍵按下、滑鼠左鍵抬起,當然,都是在picturebox上的動作。註冊三個事件後,即可以在三個對應的事件函式裡面實現拖拽。

##**例項

首先在窗體設計器生成的**裡面註冊picturebox的滑鼠事件。注:網上說當你新增picturebox的時候,這個相應的滑鼠事件就自動給新增上了,本人在實踐中一開始沒有手動去註冊此事件,結果實驗的時候對應的滑鼠事件函式就是不觸發,後來翻看設計器自動生成的初始化模組private void initializecomponent(),發現並沒有自動新增滑鼠事件,自己手動新增後才順利執行,博友請先檢視自己的有沒有自動生成,如果自動新增上了,就不用手動寫了。

註冊滑鼠事件**例項(自動生成的部分已省略未寫):

private

void

initializecomponent()

實現**例項:

int xpos;

int ypos;

bool moveflag;

//在picturebox的滑鼠按下事件裡,記錄三個變數.

private

void

realplaywnd_mousedown

(object sender,

system.windows.forms.mouseeventargs e)

//在picturebox的滑鼠按下事件裡.

private

void

realplaywnd_mouseup

(object sender,

mouseeventargs e)

//在picturebox滑鼠移動

private

void

realplaywnd_mousemove

(object sender,

mouseeventargs e)

}

C 中如何實現拖動PictureBox控制項

思路是這樣的.得有三個變數.記錄x座標 int xpos 記錄y座標 int ypos 記錄是否按下滑鼠 bool moveflag 在picturebox的滑鼠按下事件裡,記錄三個變數.private void picbox mousedown object sender,mouseeventar...

c 用PictureBox開啟圖片

剛剛學習了同事編寫的在窗體中開啟圖片的程式碼,自己也試著做了一例子,以利於學習。例子如下 在下列圖片框中雙擊picturebox插入圖片,並下圖片下方顯示圖片資訊。如下圖結果。程式碼如下 using system.io namespace newtest void pcbpic doubleclic...

c 滑鼠移動帶邊框的pictureBox

point orignalpoint new point 記錄滑鼠按下時的座標 rectangle orignalposition 記錄邊框 private void picturebox mousedown object sender,mouseeventargs e private void p...