调整pictureBox的大小并更改minimumsize

时间:2016-06-02 01:00:27

标签: c# forms winforms

所以我有这个代码来调整我的pictureBox:

class SizeablePictureBox : PictureBox
{
    public SizeablePictureBox()
    {
        this.ResizeRedraw = true;

    }
    protected override void OnPaint(PaintEventArgs e)
    {
        base.OnPaint(e);
        var rc = new Rectangle(this.ClientSize.Width - grab, this.ClientSize.Height - grab, grab, grab);
        ControlPaint.DrawSizeGrip(e.Graphics, this.BackColor, rc);
    }
    protected override void WndProc(ref Message m)
    {
        base.WndProc(ref m);
        if (m.Msg == 0x84)
        {  // Trap WM_NCHITTEST
            var pos = this.PointToClient(new Point(m.LParam.ToInt32() & 0xffff, m.LParam.ToInt32() >> 16));
            if (pos.X >= this.ClientSize.Width - grab && pos.Y >= this.ClientSize.Height - grab)
                m.Result = new IntPtr(17);  // HT_BOTTOMRIGHT
        }
    }
    private const int grab = 16;
}

我在stackoverflow上找到了它,它运行得很好。但是,我想更改它的最小尺寸,因为它不能缩小到足够的尺寸。在某一点之后,它就会停止降尺度。

0 个答案:

没有答案