当前位置: 代码迷 >> C# >> 在picturebox中绘制矩形的有关问题
  详细解决方案

在picturebox中绘制矩形的有关问题

热度:79   发布时间:2016-05-05 04:19:26.0
在picturebox中绘制矩形的问题
因为现在需要这个功能,所以百度,查到了不少资料,然后对这个产生了疑问

http://blog.csdn.net/zgke/article/details/3502920

这篇的源代码我测试效果非常好,但是我没能找到矩形框消失的原理——就是鼠标松开后矩形框为什么会消失?

主要应该是这个函数没看太懂
private void MyControl_MouseUp(object sender, MouseEventArgs e)
        {
            m_Control.Capture = false;
            Cursor.Clip = Rectangle.Empty;
            m_MouseIsDown = false;
            DrawRectangle();
            if (m_MouseRect.X == 0 || m_MouseRect.Y == 0 || m_MouseRect.Width == 0 || m_MouseRect.Height == 0)  
            {
                //如果区域没0 就不执行委托
            }
            else
            {
                if (SetRectangel != null) SetRectangel(m_Control, m_MouseRect);
            }           
            m_MouseRect = Rectangle.Empty;
        }

然后矩形框消失貌似还和SetRectangel有关,有点头晕了。

我需要的效果是下一次点选矩形后再消失,所以想知道鼠标松开后矩形消失的原理,谢谢!
------解决思路----------------------
m_MouseRect = Rectangle.Empty;
这句导致框没了
------解决思路----------------------
难道要下载这个源代码去研究?
------解决思路----------------------
http://blog.csdn.net/assky124/article/details/7998167
------解决思路----------------------
m_MouseIsDown = false;  这是通知不要再画矩形了。

m_MouseRect = Rectangle.Empty; 这是矩形的范围 被清0了
------解决思路----------------------
DrawReversibleFrame 方法就是画第二遍时消失