私は境界線のないwinformを持っています。ピクチャ ボックス コントロールを追加し、親コンテナーの Dock に設定しました。2 つのことをしたいのですが、ピクチャボックスのどこかをクリックすると、フォーム全体を画面のどこにでもドラッグできるようになり、右下隅をドラッグしてフォームのサイズを変更できるようになります。
フォームがあれば上記を実行できますが、ピクチャボックスがフォーム全体を埋めるため、どうすればよいかわかりません。
フォームを機能させるコード:
private const int WM_NCHITTEST = 0x84;
private const int HTCLIENT = 0x1;
private const int HTCAPTION = 0x2;
protected override void WndProc(ref Message message)
{
base.WndProc(ref message);
if (message.Msg == WM_NCHITTEST && (int)message.Result == HTCLIENT)
{
message.Result = (IntPtr)HTCAPTION;
int x = (int)(message.LParam.ToInt64() & 0xFFFF);
int y = (int)((message.LParam.ToInt64() & 0xFFFF0000) >> 16);
Point pt = PointToClient(new Point(x, y));
Size clientSize = ClientSize;
if (pt.X >= clientSize.Width - 16 && pt.Y >= clientSize.Height - 16 && clientSize.Height >= 16)
{
message.Result = (IntPtr)(IsMirrored ? htBottomLeft : htBottomRight);
return;
}
}
}