Windows フォームで作成したフォームは、どこをクリックしてもドラッグできます。タイトルバーのクリックであったため、各クリックを順番に変更する WndProc 関数をオーバーライドして作成しました。
//found at: http://stackoverflow.com/questions/3995009/how-to-make-a-window-draggablec-winforms
private const int WM_NCHITTEST = 0x84;
private const int HTCLIENT = 0x1;
private const int HTCAPTION = 0x2;
///
/// Handling the window messages
///
protected override void WndProc(ref Message message)
{
base.WndProc(ref message);
if (message.Msg == WM_NCHITTEST && (int)message.Result == HTCLIENT)
message.Result = (IntPtr)HTCAPTION;
}
問題は、ダブルクリックするとウィンドウが全画面表示になることです。これは望ましくありません。この動作をブロックするにはどうすればよいですか?