Читаем Программирование мобильных устройств на платформе .NET Compact Framework полностью

  textBoxAskQuestion.Height = this.Height - textBoxAskQuestion.Top;

#endif

  break;

 case GameUIState.waitForUserToAnswerMultipleChoice:

  buttonAskQuestion.Visible = false;

  SetDifficultyButtonVisibility(false);

  //Сделать кнопки доступными, чтобы пользователь мог щелкать на них

  SetAnswerButtonEnabled(true);

  SetAnswerButtonVisibility(true);

#if PLAYFIELD_ON_BOTTOM //ПОЛЕ ИГРЫ располагается под пользовательскими

                       //элементами управления

  textBoxAskQuestion.Height = buttonAnswer0.Top - 2;

#else //ПОЛЕ ИГРЫ располагается над пользовательскими

      //элементами управления.

  //Разместить текстовое окно таким образом, чтобы экран использовался

  //эффективно

  textBoxAskQuestion.Top = buttonAnswer5.Top + buttonAnswer5.Height + 2;

  textBoxAskQuestion.Height =this.Height - textBoxAskQuestion.Top;

#endif

  break;


//======================================================================

//Задать статическую компоновку нашего пользовательского интерфейса.

//Сюда входят все элементы, позиции которых остаются фиксированными.

//Изменения в остальные свойства внесет конечный автомат

//пользовательского интерфейса

//======================================================================

private void SetStartControlPositionAndState {

 pictureBoxGameBoard.Width = 240;

 pictureBoxGameBoard.Height = 176;

 //Установить размеры кнопок множественного выбора вариантов ответов

 const int answerButtons_dx = 117;

 const int answerButtons_dy = 18;

 buttonAnswer0.Width = answerButtons_dx;

 buttonAnswer0.Height = answerButtons_dy;

 buttonAnswer1.Size = buttonAnswer0.Size;

 buttonAnswer2.Size = buttonAnswer0.Size;

 buttonAnswer3.Size = buttonAnswer0.Size;

 buttonAnswer4.Size = buttonAnswer0.Size;

 buttonAnswer5.Size = buttonAnswer0.Size;

 buttonShowAnswers_AdvancedVersion.Width = answerButtons_dx;

 buttonShowAnswers_AdvancedVersion.Height = 24;

 buttonShowAnswers_SimpleVersion.Size = buttonShowAnswers_AdvancedVersion.Size;


 //Расстояние (в пикселях) между соседними кнопками

 const int dx_betweenButtons = 3;

 const int dy_betweenButtons = 2;

 const int answerbuttons_beginX = 3;


 //Создать задний план для нашего изображения, чтобы мы видели

 //его в процессе тестирования

 System.Drawing.Bitmap gameBoard;

 gameBoard = new System.Drawing.Bitmap(pictureBoxGameBoard.Width, pictureBoxGameBoard.Height);

 System.Drawing.Graphics gameboard_gfx;

 gameboard_gfx = System.Drawing.Graphics.FromImage(gameBoard);

 gameboard_gfx.Clear(System.Drawing.Color.Yellow);

 System.Drawing.Pen myPen = new System.Drawing.Pen(System.Drawing.Color.Blue);

Перейти на страницу:

Похожие книги

Программист-прагматик. Путь от подмастерья к мастеру
Программист-прагматик. Путь от подмастерья к мастеру

Находясь на переднем крае программирования, книга "Программист-прагматик. Путь от подмастерья к мастеру" абстрагируется от всевозрастающей специализации и технических тонкостей разработки программ на современном уровне, чтобы исследовать суть процесса – требования к работоспособной и поддерживаемой программе, приводящей пользователей в восторг. Книга охватывает различные темы – от личной ответственности и карьерного роста до архитектурных методик, придающих программам гибкость и простоту в адаптации и повторном использовании.Прочитав эту книгу, вы научитесь:Бороться с недостатками программного обеспечения;Избегать ловушек, связанных с дублированием знания;Создавать гибкие, динамичные и адаптируемые программы;Избегать программирования в расчете на совпадение;Защищать вашу программу при помощи контрактов, утверждений и исключений;Собирать реальные требования;Осуществлять безжалостное и эффективное тестирование;Приводить в восторг ваших пользователей;Формировать команды из программистов-прагматиков и с помощью автоматизации делать ваши разработки более точными.

Эндрю Хант , Дэвид Томас , А. Алексашин

Программирование / Книги по IT
Разработка ядра Linux
Разработка ядра Linux

В книге детально рассмотрены основные подсистемы и функции ядер Linux серии 2.6, включая особенности построения, реализации и соответствующие программны интерфейсы. Рассмотренные вопросы включают: планирование выполнения процессов, управление временем и таймеры ядра, интерфейс системных вызовов, особенности адресации и управления памятью, страничный кэш, подсистему VFS, механизмы синхронизации, проблемы переносимости и особенности отладки. Автор книги является разработчиком основных подсистем ядра Linux. Ядро рассматривается как с теоретической, так и с прикладной точек зрения, что может привлечь читателей различными интересами и потребностями.Книга может быть рекомендована как начинающим, так и опытным разработчикам программного обеспечения, а также в качестве дополнительных учебных материалов.

Роберт Лав

Программирование, программы, базы данных / Программирование / Книги по IT