Я хочу удалить значок из дочерней формы Windows MDI

Такая же проблема с иконкой. Я удовлетворен вашим ответом, что свойство seticon равно false. Но моя форма является дочерней формой MDI, тогда эта проблема остается той же, что иконка не удаляется. Можешь мне помочь.


person Hitesh Bhatt    schedule 20.05.2010    source источник
comment
понятия не имею, на какой значок вы тоже ссылаетесь; Пожалуйста, измените свой вопрос на что-то, на что мы тоже можем ответить.   -  person riffnl    schedule 20.05.2010
comment
В форме окна есть значок свойства, который по умолчанию находится в левой части верхней части окна. но если я сделаю ложным значок отображения свойств, он скроется из формы. но форма является дочерней формой MDI. поэтому он будет отображаться снова.   -  person Hitesh Bhatt    schedule 20.05.2010


Ответы (2)


Да, это "особенность" реализации Windows MDI. Руководства по дизайну требуют, чтобы дочерняя форма имела значок, чтобы пользователю было легко увидеть, какая дочерняя форма развернута и где щелкнуть, чтобы активировать системное меню. Разработчик Windows Forms должен был отключить свойство «ShowIcon» и установить для него значение True, но он не может этого сделать, потому что еще не знает, что форма станет дочерним элементом MDI.

Вам придется обойти это. Одна из возможностей — использование прозрачного значка 1x1, чтобы он не был виден, когда дочерняя форма развернута. Однако это не идеальное решение, текст заголовка формы будет смещен вправо. Путь наименьшего сопротивления — просто создать иконку для формы.

person Hans Passant    schedule 20.05.2010

Как описано здесь такой элемент можно сделать невидимым:

private void MenuStrip_ItemAdded(object sender, ToolStripItemEventArgs e)
{
    if (e.Item.Text == "")
    {
        e.Item.Visible = false;
    }
}
person Mikhail Zaretsky    schedule 27.12.2013