Как добиться безымянного окаймленного окна Aero? - PullRequest
0 голосов
/ 12 августа 2010

Я знаю, как я могу удалить границу своей формы, но я просто хочу удалить подпись. Поиск в Google для P / Invokes не дал мне особых результатов, поэтому мне интересно, как я могу достичь такого результата?

alt text

Ответы [ 2 ]

2 голосов
/ 27 августа 2010

Исходя из неуправляемой разработки, я бы P / Invoke {Get / Set} WindowLong и т. Д. И т. Д. - что было моим первоначальным ответом - но есть управляемый способ справиться с этим.

Вы захотите переопределить свойство CreateParams в своей форме, удалив граничный стиль и добавив стиль толстой рамки следующим образом:

...
const UInt32 WS_THICKFRAME = 0x40000;
const UInt32 WS_BORDER = 0x800000;
...

protected override CreateParams CreateParams
{
  get
  {
    CreateParams p = base.CreateParams;
    p.Style |= WS_THICKFRAME;
    p.Style &= ~WS_BORDER;

    return p;
  }
}



Предлагаемый список чтения

Стили окон http://msdn.microsoft.com/en-us/library/ms632600%28VS.85%29.aspx

Form :: CreateParams Property http://msdn.microsoft.com/en-us/library/system.windows.forms.form.createparams.aspx

0 голосов
/ 12 августа 2010

У меня сейчас нет VS, поэтому я не могу дать вам точный ответ, извините.

На панели свойств окна ищите стиль границы, один из них позволит вам установить аналогичный.:)

Редактировать: я знал, что что-то упустил ... Во-первых, найдите свойства "ControlBox", "MaximizeBox" и "MinimizeBox", установите для них значение false и выберите один из значимых параметров в "Свойство FormBorderStyle "- да, оно не может выглядеть так, как на картинке, а также иметь фиксированный размер, по крайней мере, без PinVoke AFAIK -.

Также не забудьте оставить свойство" Текст "пустым.

Надеюсь, это поможет:)

...