精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

C#中用鼠標移動頁面功能的實現

開發 后端
打印預覽控件中,可以用鼠標拖動頁面,以查看超出顯示范圍之外的部分內容。本文主要也就是在C#中用鼠標移動頁面功能的實現。

該功能本來可以通過拉動水平和垂直滾動條來實現,但實際使用中,用戶更趨向于直接用鼠標拖動頁面來實現,很多看圖類軟件都有這種類似的功能。而.net的打印預覽控件卻很遺憾的沒有提供這一功能,只來自己想辦法來實現啦。

呵呵,不過辦法總是有的。

我的辦法就是用代碼來控制打印預覽控件中的水平來垂直滾動條的位置,間接實現和用鼠標直接拖動滾動條一樣的效果。

在實現這一功能的過程中,最大的困難是打印預覽控件并沒有讓程序員直接調用的關于滾動條的方法或屬性。所以只好向WinAPI求助了。

以下API函數和常量就是實現上述功能的關鍵了:

[DllImport("user32.dll")]
private static extern int SetScrollPos(IntPtr hwnd, int nBar, int nPos, bool bRedraw);
[DllImport("user32.dll")]
private static extern int GetScrollPos(IntPtr hwnd, int nBar);
[DllImport("user32.dll")]
private static extern bool PostMessage(IntPtr hWnd, int nBar, int wParam, int lParam);
[DllImport("user32", CharSet = CharSet.Auto)]
private static extern bool GetScrollRange(IntPtr hWnd, int nBar,
out int lpMinPos, out int lpMaxPos); 
 

private const int SB_HORZ = 0x0;
private const int SB_VERT = 0x1;
private const int WM_HSCROLL = 0x114;
private const int WM_VSCROLL = 0x115;
private const int SB_THUMBPOSITION = 4;

簡單說明一下吧:

SetScrollPos:設置所指定滾動條中的滾動按鈕的位置

GetScrollPos:獲取指定滾動條的滾動按鈕的位置

GetScrollRange:獲取指定滾動條的滾動按鈕的位置最大最小值

PostMessage:這個函數是關鍵中的關鍵,它負責向Windows控件發送相應的消息,以真正執行相應的操作。一些網友實現了滾動條中滑塊位置的移動,但卻沒有引起控件中內容的移動,其原因就是因為沒有調用這個函數,沒有把移動內容的消息發送給控件。

SB_HORZ :代表水平滾動條

SB_VERT :代表垂直滾動條

WM_HSCROLL :代表水平滾動事件

WM_VSCROLL :代表垂直滾動事件

SB_THUMBPOSITION :至于這個常量,其含義我也不是很清楚,有知道的朋友歡迎回復給我。

好了,準備工作做好了,就可以開工了。

先聲明幾個變量:

       bool Preview_move = false;//是否按下鼠標,表示處理移動狀態。
       Point MoveStart;//移動開始時,鼠標的坐標點
       Point MoveEnd;//移動過程中鼠標的坐標點

在控件的MouseDown事件中,當鼠標按下時開始移動頁面,并記下起始坐標點:

       private void previewer_MouseDown(object sender, MouseEventArgs e)
       {
           Preview_move = true;
           MoveStart = e.Location;
       }

在控件的MouseUp事件中,記得當鼠標放開后要置回非移動狀態:

       private void previewer_MouseUp(object sender, MouseEventArgs e)
       {
           Preview_move = false;
       }

以下就是實現移動頁面的關鍵部分了,在控件的MouseMove實現用代碼間接控制控件的滾動條位置并實現頁面實時移動:

       private void previewer_MouseMove(object sender, MouseEventArgs e)
       {
           if (!Preview_move) return;           
           MoveEnd = e.Location;
           int MinH,MaxH,MinV,MaxV;
//獲得鼠標在X和Y兩個方向上的移動量。除以10是為是讓移動頁面的速度變慢一點。而前面的負號則是用來調節頁面移動方向的。
           int MoveX = -(MoveEnd.X - MoveStart.X)/10;
           int MoveY = -(MoveEnd.Y - MoveStart.Y)/10;
//獲取滾動條的最大最小位置和當前位置
           GetScrollRange(previewer.Handle, 0, out MinH, out MaxH);
           GetScrollRange(previewer.Handle, 1, out MinV, out MaxV);
           int PosH = GetScrollPos(previewer.Handle, 0);
           int PosV = GetScrollPos(previewer.Handle, 1);
//計算最終滾動條的位置(注意最終位置不要超出最大最小值的范圍)
           int PosH1 = PosH + MoveX;
           if (PosH1 >= MinH && PosH1 <= MaxH)
           {
               SetScrollPos(previewer.Handle, SB_HORZ, PosH1, true);//設置滾動條的位置
               PostMessage(previewer.Handle, WM_HSCROLL, SB_THUMBPOSITION + 0x10000 * PosH1, 0);//告訴控件移動頁面內容到相應的位置上
           }

           int PosV1 = PosV + MoveY;
           if (PosV1 >= MinV && PosV1 <= MaxV)
           {
               SetScrollPos(previewer.Handle, SB_VERT, PosV1, true);
               PostMessage(previewer.Handle, WM_VSCROLL, SB_THUMBPOSITION + 0x10000 * PosV1, 0);
           }
       }

OK,一個能用鼠標實時移動頁面內容的打印預覽功能作好了。其實,對于.net中很多控件都可以用相似的方面實現對滾動條的控制。

您正在閱讀的是《C#中用鼠標移動頁面功能的實現

【編輯推薦】

  1. C# 2010協變和逆變的新特性
  2. Visual C# 2010新特性之dynamic類型
  3. C# 4.0新特性dynamic作用淺析
責任編輯:彭凡 來源: cnblogs
相關推薦

2009-08-28 16:03:15

C#程序實現鼠標移動

2009-09-03 16:50:35

C#鼠標形狀

2009-09-02 18:53:28

C#鼠標坐標

2009-09-02 17:29:10

C# TextBox換

2009-09-16 09:06:16

Specificati

2009-08-07 13:03:10

C#控件數組

2009-08-26 10:43:14

C#實現打印功能

2009-08-26 09:22:44

C#實現打印功能

2009-09-08 09:31:54

c# CheckBox

2009-09-03 14:55:56

C#實現DataGri

2009-09-04 09:27:48

C#調用瀏覽器

2009-09-07 15:40:06

2009-09-03 18:19:35

C#鼠標右鍵

2009-09-02 18:11:24

C#鼠標

2009-09-08 16:51:50

C#鼠標拖動

2009-09-07 18:08:25

C#鼠標指針

2009-09-02 18:34:28

C#鼠標事件

2009-08-26 13:22:24

C#打印程序

2009-08-18 09:26:07

C#線程功能

2009-09-07 06:31:32

C#窗體移動
點贊
收藏

51CTO技術棧公眾號

久久人人看视频| 欧美色图在线观看| 国产综合动作在线观看| 精品久久久久久久久久久久久久久久| 国产在视频线精品视频www666| 在线一区二区三区四区| 欧美a级黄色大片| 五月婷婷六月丁香| 久久99国产精品久久99果冻传媒| 久久久噜噜噜久久| 欧美a在线播放| 高清欧美性猛交xxxx黑人猛| 欧美午夜精品一区| 久艹在线免费观看| 无遮挡动作视频在线观看免费入口| 国产成人精品网址| 国产精品视频永久免费播放| 久久婷婷一区二区| 日韩在线观看| 亚洲国产精品推荐| 在线观看视频在线观看| 色豆豆成人网| 亚洲sss视频在线视频| 伊人情人网综合| 日本一区视频| 成人免费av网站| 国产专区欧美专区| 欧美亚洲另类小说| 亚洲久久在线| 色综合天天狠天天透天天伊人| 国产高潮呻吟久久| julia中文字幕一区二区99在线| 欧美吞精做爰啪啪高潮| 人妻熟女一二三区夜夜爱| 欧美xxxx做受欧美88bbw| 国产精品亲子伦对白| 久久国产欧美精品| 亚洲乱色熟女一区二区三区| 精品一区二区三区视频在线观看| 日韩免费在线观看视频| 日韩免费黄色片| 欧美激情偷拍| 久久不射电影网| 天堂av免费在线| 日韩理论电影院| 夜夜嗨av一区二区三区四区 | 777久久精品一区二区三区无码| se在线电影| 国产日韩欧美一区二区三区乱码 | 神马午夜电影一区二区三区在线观看| 国产一区二区免费看| 91精品国产综合久久香蕉最新版 | 丰满大乳少妇在线观看网站| 亚洲乱码中文字幕| 超碰在线免费观看97| 欧美一区二区三区| 成人欧美一区二区三区视频网页| 亚洲高清在线观看一区| 午夜小视频在线| 久久久久国产精品人| 日韩成人av电影在线| 国产综合视频一区二区三区免费| 久久综合色8888| 欧美日韩国产一二| 国产高清av在线| 欧美国产日韩一二三区| 四虎一区二区| 蜜桃视频在线观看www社区| 中文字幕一区av| 男人天堂成人网| 伊人222成人综合网| 亚洲一区二区精品视频| 婷婷无套内射影院| 亚洲精品中文字幕| 欧美影视一区二区三区| gogogo高清免费观看在线视频| 九七影院97影院理论片久久| 欧美剧情片在线观看| 少妇愉情理伦片bd| 豆花视频一区二区| 日韩成人av在线播放| 国产交换配乱淫视频免费| 成人看的视频| 欧美成人小视频| 日韩精品在线免费看| 久久亚洲风情| 成人夜晚看av| 天天射,天天干| 国产农村妇女毛片精品久久麻豆 | 91导航在线观看| 一本一道久久a久久精品蜜桃| 久久久免费在线观看| 男人天堂av在线播放| 精品影院一区二区久久久| 国产精品一区二区欧美| 国产资源在线观看| 亚洲女同ⅹxx女同tv| 成年人网站免费视频| 色8久久久久| 亚洲精品mp4| 午夜国产福利视频| 亚洲精品字幕| 成人黄色免费片| 天堂中文在线视频| 亚洲精品网站在线观看| 日日摸天天爽天天爽视频| 麻豆国产一区| 在线午夜精品自拍| 日本免费观看视| 国产在线播放一区三区四| 免费成人在线观看av| 2021国产在线| 欧美日韩中字一区| 捆绑凌虐一区二区三区| 久久精品青草| 国产精品h在线观看| 亚洲av无码乱码国产麻豆| 国产日韩精品一区| 国产美女网站在线观看| 警花av一区二区三区| 亚洲一级黄色av| 国产精品免费av一区二区| 精品一区二区在线看| 日本一区二区三区在线视频 | 欧美3p在线观看| 2021久久精品国产99国产精品| 99久久精品无免国产免费| 欧美—级在线免费片| 男人天堂999| 久久精品凹凸全集| 欧美国产日韩视频| 国产精品久久久久久免费免熟| 久久久久久久久蜜桃| 高清在线观看免费| 盗摄系列偷拍视频精品tp| 九九久久久久99精品| 一区二区美女视频| 国产欧美日韩三区| 99久久国产宗和精品1上映| 欧美三级午夜理伦三级小说| 国内精品小视频在线观看| 国产99视频在线| √…a在线天堂一区| 久久这里只精品| 成人中文视频| 国产精品欧美风情| 国产区av在线| 欧美午夜宅男影院| 高清国产在线观看| 秋霞成人午夜伦在线观看| 欧美一区二区三区在线免费观看| 在线看片国产福利你懂的| 亚洲精品国产免费| 国产免费观看av| 99久久精品免费看国产免费软件| 日本手机在线视频| 激情小说亚洲色图| 国产91精品久久久久| 天天av综合网| 91精品福利在线| 国产18无套直看片| 久久99这里只有精品| 异国色恋浪漫潭| 精品视频一二| 国模吧一区二区三区| 日日夜夜精品免费| 色综合久久综合网97色综合| 国产中年熟女高潮大集合| 日本免费在线视频不卡一不卡二 | 懂色av中文在线| 欧美色老头old∨ideo| 亚洲aaa视频| 国产精品一区免费视频| 久艹在线免费观看| 欧美美乳视频| 国产在线视频不卡| 高清电影在线观看免费| 日韩国产高清污视频在线观看| 国产一级淫片a视频免费观看| 欧美经典三级视频一区二区三区| 欧美激情第一区| 精品动漫3d一区二区三区免费版 | 午夜视频在线观看一区二区| 欧美bbbbb性bbbbb视频| 麻豆精品视频在线| 人人妻人人澡人人爽欧美一区双| 一区二区三区日本久久久 | 久久久av免费| 色wwwwww| 欧美日韩一区三区四区| 久草视频中文在线| 国产亚洲一本大道中文在线| 欧美日韩精品区别| 国产美女诱惑一区二区| 亚洲高清在线观看一区| 国产精品久久久久久久久久白浆| 国产成人欧美在线观看| 影院在线观看全集免费观看| 亚洲午夜国产成人av电影男同| 国产美女主播在线观看| 欧美日韩中文字幕在线| 在线免费观看亚洲视频| 久久亚洲综合色| 无码国产精品一区二区高潮| 国产精品社区| 大桥未久一区二区三区| 国产精品一线天粉嫩av| 97se国产在线视频| 亚洲电影有码| 97超级碰碰碰久久久| av中文字幕在线播放| 亚洲欧美国产一区二区三区| www.成人精品| 欧美日韩亚洲综合一区 | 欧美特黄一区| 杨幂一区欧美专区| 免费电影一区二区三区| 国产精品免费一区二区三区| 97精品资源在线观看| 国产激情视频一区| 国产污视频在线播放| 色综合天天狠天天透天天伊人| 日本中文字幕在线播放| 亚洲色图五月天| 亚洲av成人精品毛片| 日韩一级欧美一级| 97人妻人人澡人人爽人人精品| 91精品福利视频| 97久久久久久久| 亚洲国产另类av| 欧美成人国产精品高潮| 国产精品女同互慰在线看 | 中文字幕在线一区免费| 久久美女免费视频| 久久久久久久综合| 中文人妻一区二区三区| 99久久精品国产网站| 日本不卡视频一区| 国产福利一区二区三区视频在线 | 亚洲精品天堂成人片av在线播放 | 俺去了亚洲欧美日韩| 国产h在线观看| 亚洲性视频网站| 国产无套粉嫩白浆在线2022年| 亚洲免费伊人电影在线观看av| 瑟瑟在线观看| 亚洲欧洲成视频免费观看| 青青草在线播放| 亚洲精品一区av在线播放| 天堂资源最新在线| 亚洲天堂成人在线视频| 青青草在线免费视频| 亚洲色图av在线| 成人在线二区| 久久精品中文字幕一区| 精品麻豆一区二区三区| 久久国产精品影片| 污污的视频在线观看| 久久久久久成人精品| free性护士videos欧美| 69视频在线免费观看| 老司机2019福利精品视频导航| 国产成人a亚洲精品| 精品九九久久| 999国内精品视频在线| 欧美日韩麻豆| 日韩一本精品| 久久精品亚洲人成影院| 国产精品一线二线三线| 亚洲在线免费| 午夜在线观看av| 国产美女av一区二区三区| av漫画在线观看| 337p粉嫩大胆噜噜噜噜噜91av| 午夜影院黄色片| 亚洲欧美另类综合偷拍| 日韩欧美一区二区一幕| 在线观看三级视频欧美| 一区二区精品视频在线观看| 精品日韩在线观看| 国产中文字幕在线视频| 久久天天躁日日躁| 成人黄色动漫| 国产精品成人免费电影| 久久久久久久久成人| 久久综合九色综合网站| 欧美gay男男猛男无套| 精品人妻人人做人人爽| 久久99伊人| 久久6免费视频| 91伊人久久大香线蕉| 国产免费嫩草影院| 亚洲国产精品一区二区尤物区| 蜜臀精品一区二区三区| 欧美一级艳片视频免费观看| | 日韩欧美自拍偷拍| 日批视频在线播放| xxx一区二区| 成人香蕉视频| 国产经品一区二区| 成人午夜av| 一女被多男玩喷潮视频| 国产一区二区免费看| 日韩人妻无码精品综合区| 亚洲国产成人av| 91精品国产乱码久久久久| 亚洲精品久久久久久久久久久久 | 999久久久国产精品| 成人免费观看cn| 国产一区二区三区不卡在线观看| 亚洲永久精品ww.7491进入| 亚洲综合免费观看高清完整版在线| 夜夜躁日日躁狠狠久久av| 亚洲国产高潮在线观看| h网站视频在线观看| 2019国产精品自在线拍国产不卡| 99tv成人影院| 婷婷四房综合激情五月| 另类国产ts人妖高潮视频| 伊人av在线播放| 亚洲私人黄色宅男| 中文字幕第三页| 亚洲性xxxx| 日韩免费电影| 久久国产手机看片| 亚洲特色特黄| 妖精视频在线观看| 自拍偷自拍亚洲精品播放| 伊人22222| 中文字幕欧美日韩在线| 少妇一区视频| 欧美一区少妇| 久久国产福利| 毛茸茸多毛bbb毛多视频| 亚洲成人777| 亚洲黄色在线免费观看| 久久99国产综合精品女同| a一区二区三区亚洲| 亚洲欧洲精品在线观看| 男人操女人的视频在线观看欧美| 黄色aaa视频| 日本黄色一区二区| 黄色在线网站| 国产精品啪视频| 99精品全国免费观看视频软件| the porn av| 国产精品成人网| 一区二区美女视频| 麻豆国产va免费精品高清在线| 国产麻豆精品| 日本男女交配视频| 成人免费视频播放| 亚洲免费激情视频| 国产偷亚洲偷欧美偷精品| av电影一区| 亚洲免费不卡| 国产自产2019最新不卡| 久久久久久久极品内射| 亚洲第一区中文字幕| 水蜜桃在线视频| 日韩尤物视频| 韩国三级在线一区| 欧美精品一区二区成人| 亚洲国产精久久久久久久| 在线观看网站免费入口在线观看国内| 日本高清不卡三区| 久久国产三级精品| 欧美成人黄色网| 亚洲国产精品久久精品怡红院| 成人影院入口| 亚洲欧美日韩国产yyy| 国产九九视频一区二区三区| 久久精品视频国产| 精品亚洲永久免费精品| 国产精品原创视频| 国产资源第一页| av激情亚洲男人天堂| 日韩在线播放中文字幕| 日韩亚洲国产中文字幕| 香蕉大人久久国产成人av| 欧美日韩亚洲一| 中文乱码免费一区二区| 午夜精品久久久久久久第一页按摩| 韩国福利视频一区| 自拍自偷一区二区三区| 午夜视频在线网站| 亚洲mv在线观看| 在线播放毛片| 国产精品制服诱惑| 人禽交欧美网站| 久久久精品视频在线| 亚洲欧美制服中文字幕| 精品中文视频| 国产精品一区二区羞羞答答| 亚洲永久免费av| 又爽又大又黄a级毛片在线视频| 韩国一区二区三区美女美女秀| 免费观看日韩电影| 日韩熟女精品一区二区三区|