Хорошим способом ознайомлення з середовищем програмування буде розробка його засобами певної прикладної програми.
Також у нагоді можуть стати от такі матеріали про розробку графічного інтерфейсу - https://www.ibm.com/developerworks/ru/library/l-Mono_3/index.html
Створення калькулятора
Частина перша, інтерфейс
Частина друга, алгоритми роботи
(В основу покладено матеріал: https://www.youtube.com/watch?v=xHb2dU-JlPI)
Запускаємо "Mono Develop" та у меню "Файл" обираємо пункт "Новий", підпункт "Рішення". (Замість цього можна натиснути Ctrl+Shift+N).
У наступному вікні обираємо "Проект Gtk# 2.0" з бібліотеки ".NET".
Після натискання "Next" обираємо де його зберегти та як назвати і тиснемо "Створити".
Отримуємо:
У вкладці Program.cs відображається текст програми, що автоматично згенерувалась та була збережена до файлу Program.cs
На панелі "Рішення" обираємо MainWindows.cs. Це текст файл проекту, що описує форму вікна програми.
Під кодом програми з'явилася кнопка: "Дизайнер" натиснувши на яку побачимо макет форми майбутньої програми.
Тепер можна розпочати доповнювати форму елементами, що повинен мати калькулятор. Ось вигляд того, що повинно у нас утворитись:
Отримати необхідні елементи управління можна використовуючи уже готовий набір візуальних елементів. Для цього через меню "Перегляд" відображаємо праворуч панель "Елементів керування" (це можна зробити скориставшись комбінацією клавіш Alt+Shift+B). Та щоб розміщувати на формі різні кнопки та поля введення для них слід підготувати відповідні "контейнери".
Скористаємося засобами, що розділять форму на певні вертикальні та горизонтальні блоки-контейнери.
Обираємо інструмент Vbox та перетягуємо його на дизайнер форми.
Натискаючи праву кнопку миші на дизайнері форми обираючи у контексному меню пуннкт "vbox1" підпункт "Insert After" доводимо кількість блоків до шести. Далі перетягуємо елемент керування "Hbox" на кожен блок. крім першого.
Обравши у контексному меню на середній "кнопці" другого ряду "видалити" лишаємо у другому ряду два "блоки" майбутніх кнопок.
У контексному меню блоків кожного наступного ряду обираємо пункт "hbox2" підпункт "Insert After"
Контейнери майбутніх елементів управління готові. Можна їх заповнювати.
На верхній суцільний рядок (блок) перетягуємо елемент управління "Ebtry". На решту блоків перетягуемо "Button".
Коли усі кнопки буде розміщено у відповідних контейнерах приступаємо до зміни їх властивостей. Доступ до властивостей надає вкладка "Properties".
Змінюємо надпис на кнопці Buton1. Для цього знаходимо поле "Label" у розділі "Button Properties" властивостей (Properties) кнопки та записуємо туди "Очистити" замість наявного там "GtkButton".
Для Buton1 надпис буде "С", Для Buton3 - Buton19 надписами будуть цифри та знаки арефметичних дій як показано на малюнку.
Трішечки (на один "клік" миші) збільшуємо розміри усієї форми виділивши її та натиснувши кнопку "Increase Border Width" (перекладається: "збільшити ширину кордону"). Ця кнопка позначається значком синього плюсика над рамкою і розміщена трохи вище макету нашої форми.
На наступному етапі встановлюємо значення інших властивостей окремих кнопок. Зокрема переменовуємо їх та задаємо постіні значення висоти, ширини.
Кнопку Buton1 перейменовуємо на Clear. Для цього змінюємо значення самого верхнього поля Name властивостей (Properties) кнопки з Buton1 на Clear.
У розділі властивостей Common Widget Properties (Загальні властивості віджету) полю WidthRequest (Запит на ширину) надаємо значення 132 а полю HeigthRequest (Запит на висоту) - 40.
Аналогічно редагуємо властивості решти кнопок
Для об'єкту entry1 також встановлюємо висоту 40. Ще для цього поля змінимо властивіть IsEditable ("можна редагувати") з розділу Entry Properties ("вхідні властивості") забравши звідти "галочку" (це поле типу "check box" і набуває зачень ☑ включено або ☐ выключено)
Загалом форма візуально готова. Можна запустити проект на виконання. Пересвідчитись, що візуально калькулятор готовий до роботи: у верхнє поле можна вводити знаки, кнопки реагують "провалюванням" на натискання. Про те трішки змінимо властивості самої форми. Для цього закриємо запущену на виконання форму кнопкою "закрити вікно" і виділим усю форму MainWindow обравши "MainWindow" на вкладці вище макету форми. Поле "Resizable" ("зміна розміру") з розділу "Window Side Properties" ("властивості бічного вікна") позбавимо "пташечки". Тепер форму не можна буде розгортати на весь екран, що для калькулятора і не потрібно.
Все, можна приступати до написання програмного коду про що розповідає частина друга.
Можливі проблеми
Якщо при компіляції виникає помилка "The type or namespace name gtk' could not be foundj..." то в одному з дописів ресурсу http://www.cyberforum.ru/csharp-beginners/thread163984.html пропонується довстановити пакети gtk-sharp2, gnome-desktop-sharp2, gnome-sharp2. Та залежності, що вони потягнуть за собою.
sudo apt-get install gtk-sharp2
sudo apt-get install gnome-desktop-sharp2
sudo apt-get install gnome-sharp2
Ще про проблему недовстановлених пакунків gtk.