1

トレイの[アクションセンター]、[電源]、[ネットワーク]、または[サウンド]アイコンをクリックすると表示される小さなボックスのようになります。タイトルバーのないガラスの境界線が必要です。

ここに画像の説明を入力してください

また、サイズを固定し、サイズを変更できないようにする必要があります。助けてくれる人に感謝します!:)

4

1 に答える 1

3

ControlBoxをfalseに設定し、タイトルテキストをクリアして、境界線のスタイルを設定する必要があります。サイズの大きい境界線が必要であるが、サイズ変更は許可しないと述べたので、最小サイズと最大サイズも設定できます。最後に、マウスカーソルにサイズ変更カーソルが表示されないようにするために、境界線の1つにある場合は、WM_NCHITTESTの結果をオーバーライドします。

private void Form1_Load(object sender, EventArgs e)
{
    this.ControlBox = false;
    this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Sizable;
    this.MinimumSize = this.MaximumSize = this.Size; 
    this.Text = "";                
}
const int WM_NCHITTEST = 0x0084;
const int HTBOTTOM = 15;
const int HTBOTTOMLEFT = 16;
const int HTBOTTOMRIGHT = 17;
const int HTLEFT = 10;
const int HTRIGHT = 11;
const int HTTOPLEFT = 13;
const int HTTOPRIGHT = 14;
const int HTTOP = 12;
const int HTCLIENT = 1;
protected override void WndProc(ref Message m)
{
    base.WndProc(ref m);
    if (m.Msg == WM_NCHITTEST)
    {
        Console.WriteLine(m.Result.ToString());
        switch (m.Result.ToInt32())
        {
            case HTBOTTOM:
            case HTBOTTOMLEFT:
            case HTBOTTOMRIGHT:
            case HTLEFT:
            case HTRIGHT:
            case HTTOPLEFT:
            case HTTOPRIGHT:
            case HTTOP:
                m.Result =(IntPtr) HTCLIENT;
                break;
        }
    }
}
于 2013-01-12T02:00:48.313 に答える