##要求及背景
工作需要,要在乙個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...