С помощью form1, когда я держу нижний левый угол для изменения размера, это предел на MinumumSize (300, 300). Но хотя MinimumSize = новый размер (50, 50), ширина и высота MyControl все еще могут быть меньше 50. Знаете ли вы, как сделать MyControl как форму? Спасибо заранее!
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
FormBorderStyle = FormBorderStyle.None;
MinimumSize = new Size(300, 300);
}
protected override void WndProc(ref Message m)
{
if (m.Msg == 0x84) //WM_NCHITTEST
{
Point pos = new Point(m.LParam.ToInt32());
pos = this.PointToClient(pos);
if (pos.X >= this.ClientSize.Width - 6 && pos.Y >= this.ClientSize.Height - 6)
{
m.Result = (IntPtr)17;
return;
}
}
base.WndProc(ref m);
}
}
public class MyControl : Control
{
public MyControl()
{
MinimumSize = new Size(50, 50);
}
protected override void WndProc(ref Message m)
{
if (m.Msg == 0x84) //WM_NCHITTEST
{
Point pos = new Point(m.LParam.ToInt32());
pos = this.PointToClient(pos);
if (pos.X >= this.ClientSize.Width - 6 && pos.Y >= this.ClientSize.Height - 6)
{
m.Result = (IntPtr)17;
return;
}
return;
}
base.WndProc(ref m);
}
}