轉帖|使用教程|編輯:龔雪|2015-08-06 09:16:19.000|閱讀 502 次
概述:本教程主要介紹了LeadTools其中一個小功能——鼠標移動選擇區域的使用。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
論壇中有用戶提出如何通過鼠標移動選擇區域,但不希望選擇區域圖片伴隨移動。考慮到會有其他用戶也會用到這個場景,所以在此共享給大家。
步驟如下:
使用 AddRectangleToRegion 設置選擇區域:
codecs = new RasterCodecs(); rasterImageViewer1.Image = codecs.Load(@"..\..\test.png"); rasterImageViewer1.InteractiveRegionRectangle += rasterImageViewer1_InteractiveRegionRectangle; rasterImageViewer1.InteractiveRegionType = RasterViewerInteractiveRegionType.Rectangle; rasterImageViewer1.Image.AddRectangleToRegion(null, new LeadRect(214, 176, 147, 172), RasterRegionCombineMode.Set);
該功能需要結合鼠標按下、移動及釋放事件進行選擇區域的移動:
rasterImageViewer1.MouseDown += rasterImageViewer1_MouseDown; rasterImageViewer1.MouseMove += rasterImageViewer1_MouseMove; rasterImageViewer1.MouseUp += rasterImageViewer1_MouseUp;
使用 MouseDown 事件開啟移動標記位:
bool flag = false; void rasterImageViewer1_MouseDown(object sender, MouseEventArgs e) { flag = true; }
在 MouseMove 事件中通過重繪選擇區域實現移動:
void rasterImageViewer1_MouseMove(object sender, MouseEventArgs e)
{
if (flag)
{
LeadRect lr = rasterImageViewer1.Image.GetRegion(null).GetBounds();
rasterImageViewer1.Image.AddRectangleToRegion(null, new LeadRect(e.X-214, e.Y-176, 147, 172), RasterRegionCombineMode.Set);
}
}
在 MouseUp 事件中關閉移動標記:
void rasterImageViewer1_MouseUp(object sender, MouseEventArgs e) { flag = false; }
效果圖:
文章轉自:葡萄城產品博客
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件網