Цвет фона формы или изображение застряло как белый - PullRequest
0 голосов
/ 15 апреля 2011

Я начал учить себя C # неделю назад.Я начал с написания тетриса, чтобы познакомиться с языком.Я заставил основную игровую механику нарисовать заранее заданное растровое изображение и отобразить его в графическом окне, которое в то время имело тот же размер окна.Теперь я расширил размер окна и начал добавлять другие элементы управления сбоку графического блока.

Проблема в том, что теперь, когда я расширил окно, отображая фон формы, цвет фона постоянно белый илиВ нижнем углу я получаю странный блекло-белый выцветший вид.

Я пробовал несколько вещей:
- установить цвет фона вручную, но это отражается только на метках
- проверил, чтоключ прозрачности пуст
- установить прозрачность на неиспользуемый цвет, ничего не меняется
- добавить bmp в качестве фонового изображения формы, все еще остается белым
- проверил мой код, чтобы убедиться, что я каждый раз писал непосредственно вфон формы

Я не могу представить, как это исправить;у кого-нибудь есть идеи?

РЕДАКТИРОВАТЬ:
Я нашел ответ на свой вопрос.SetStyle (ControlStyles.Opaque, true) был вызван в моем конструкторе.Я не уверен, что именно это делает, но я прокомментировал это, и это решило мою проблему.

Ответы [ 2 ]

1 голос
/ 15 апреля 2011

Пожалуйста, перечислите требования означает, что именно вам нужно?

После того, как я прочитал ваш вопрос.Вот мое понимание:

Если ваша проблема связана с изменением размера окна, тогда

  • используйте SplitКонтейнер , который доступен в наборе инструментов из группы «Контейнеры».

  • установите его свойство Dock для заполненияЗаполните все окно, если оно было изменено или увеличено.

  • Затем используйте правую панель для отображения графического окна и левую панель для других элементов управления.

  • Есливам также может потребоваться установить свойство док-станции графического блока для заполнения его родительского контейнера, что означает правую панель.

Если ваша проблема связана с цветом фона окна, то

  • На самом деле возникает проблема с цветом фона, если форма является Mdi-контейнером.

  • Проверьте, IsMdiContainer свойство установлено в false.Если true, то это MdiContainer.

  • Следующий блок кода устанавливает задний цвет форм Mdi на задний цвет форм.

    foreach (Control c in this.Controls)
    {
        if (c is MdiClient)
        {
            c.BackColor = this.BackColor;
        }
    }
    
0 голосов
/ 17 апреля 2011

Я нашел ответ на свой вопрос. SetStyle (ControlStyles.Opaque, true) был вызван в моей инициализации. Я не уверен, что именно это делает, но это было причиной моей проблемы с цветом фона.

...