Итак, сегодня я установил себе Mono Develop Я (в UBUNTU 9.04) поставил его таким образом Code #ставим собственно Mono sudo apt-get install monodevelop nunit mono-devel #и документацию sudo apt-get install monodoc Зайдя в меню Приложения/Программирование я открыл MonoDevelop. Также менеджером дополений (утилиты/менеджер дополнений) я поставил несколько дополнений. Первой и пока последней прогой что я написал является просмотрщик текстов. Итак, разберём мои полёты. Создадим новый проект C#(File/New/Solution). Типа CTK# 2.0 : Назовём его TextViewer Получим следующее: В панели слева дабл кликом откроем MainWindow.cs если у вас нет панелей компонентов и свойств то самое время их открыть : Вид/Элементы управления и Вид/Свойства Переключимся в диайнер. Увидим что угрюмый код заменился ещё более угрюмой серой панелью. Теперь мы её "развеселим" Добавим VBox из палитры компонет (перетаскиванием) на эту панель Объясню зачем он нужен. Наверху будет меню. Внизу - просмотрщик. Удалим самую нижнюю (3-ю) панель (пр.кн - удалить) На верхнюю перетащим виджет MenuBar. Увидим надпись Click To Create Menu. Кликнем и введём "файл". В аналогичной вещи справа - "справка". Нажав на файл увидим ещё пункт. В него введём "Выход". Теперь обдумаем как заставить программу выйти. Если вы программировали в винде, то наверное знаете что там для этого есть события. Всё аналогично и в Mono, но не события а сигналы. Выделим этот пункт и в окне свойст перейдём на вкладку сигналы. Там мы увидим Action Signals (буквально - сигналы действий). В них - Activated. Щёлкнем по куску поля activated в графе handler и введем там OnExitMenu Теперь переключившись из дизайнера в код найдём следующий текст : Code protected virtual void OnExitMenu (object sender, System.EventArgs e) { } Это и есть обработчик свежепрописанного слота. Пока он пуст. Заменим код на такой : Code protected virtual void OnExitMenu (object sender, System.EventArgs e) { Application.Quit(); } Мажмём F5 и если всё сделано правильно - получим окно. Нажмём это Файл/Выход. Ура!Вышел! Дальше надеюсь легче. Что бы сделать просмотр этого файла вернёмся в дизайн и на свободный кусок VBox-а бросим scrolledwindow, в него Text View. Наименование этому View-у сменим на dataView. В меню сделаем пункт "смотреть" и прописываем ему слот OnView. Код этого слота сделаем таким: Code Итак, сегодня я установил себе Mono Develop Я (в UBUNTU 9.04) поставил его таким образом <!--uzcode--><div class="bbCodeBlock"><div class="bbCodeName" style="padding-left:5px;font-weight:bold;font-size:7pt">Code</div><div class="codeMessage" style="border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight<5?this.style.height:scrollHeight>200?'200px':''+(this.scrollHeight+5)+'px');"><!--uzc--> #ставим собственно Mono sudo apt-get install monodevelop nunit mono-devel #и документацию sudo apt-get install monodoc <!--/uzc--></div></div><!--/uzcode-->
Зайдя в меню Приложения/Программирование я открыл MonoDevelop. Также менеджером дополений (утилиты/менеджер дополнений) я поставил несколько дополнений. <a class="link" href="http://img706.imageshack.us/i/addinmanager.png/" rel="nofollow" target="_blank"><img src="http://img706.imageshack.us/img706/9629/addinmanager.png" border="0" alt=""></a> <a class="link" href="http://g.imageshack.us/img706/addinmanager.png/1/" rel="nofollow" target="_blank"><img src="http://img706.imageshack.us/img706/addinmanager.png/1/w710.png" border="0" alt=""></a>
Первой и пока последней прогой что я написал является просмотрщик текстов.
Итак, разберём мои полёты.
Создадим новый проект C#(File/New/Solution). Типа CTK# 2.0 : <a class="link" href="http://img96.imageshack.us/i/55601981.png/" rel="nofollow" target="_blank"><img src="http://img96.imageshack.us/img96/5246/55601981.png" border="0" alt=""></a> <a class="link" href="http://g.imageshack.us/img96/55601981.png/1/" rel="nofollow" target="_blank"><img src="http://img96.imageshack.us/img96/55601981.png/1/w718.png" border="0" alt=""></a> Назовём его TextViewer
Получим следующее: [URL=http://imglink.ru/show-image.php?id=bc97f634e91e0e8d58bf7e58e795ec0a] [IMG]http://imglink.ru/thumbnails/08-01-10/61223f6b754858cbfc7da1ebe1bcecc3.jpg[/IMG][/URL]
В панели слева дабл кликом откроем MainWindow.cs если у вас нет панелей компонентов и свойств то самое время их открыть : Вид/Элементы управления и Вид/Свойства
Переключимся в диайнер. Увидим что угрюмый код заменился ещё более угрюмой серой панелью. Теперь мы её "развеселим"
Добавим VBox из палитры компонет (перетаскиванием) на эту панель [URL=http://imglink.ru/show-image.php?id=ea271061fb3db1aa704f4440ac3395a7] [IMG]http://imglink.ru/thumbnails/08-01-10/023931c237f94f2eb499471cae658d78.jpg[/IMG][/URL]
Объясню зачем он нужен. Наверху будет меню. Внизу - просмотрщик.
Удалим самую нижнюю (3-ю) панель (пр.кн - удалить)
На верхнюю перетащим виджет MenuBar. Увидим надпись Click To Create Menu. Кликнем и введём "файл". В аналогичной вещи справа - "справка". Нажав на файл увидим ещё пункт. В него введём "Выход".
Теперь обдумаем как заставить программу выйти. Если вы программировали в винде, то наверное знаете что там для этого есть события. Всё аналогично и в Mono, но не события а сигналы.
Выделим этот пункт и в окне свойст перейдём на вкладку сигналы. Там мы увидим Action Signals (буквально - сигналы действий). В них - Activated. Щёлкнем по куску поля activated в графе handler и введем там OnExitMenu [URL=http://imglink.ru/show-image.php?id=4ad8576d5e7ebfa1286a662c45192df1] [IMG]http://imglink.ru/thumbnails/08-01-10/06b480f549c5ecbbab0ce15c7594aed0.jpg[/IMG][/URL]
Теперь переключившись из дизайнера в код найдём следующий текст : [code] protected virtual void OnExitMenu (object sender, System.EventArgs e) { } Это и есть обработчик свежепрописанного слота. Пока он пуст. Заменим код на такой : Code protected virtual void OnExitMenu (object sender, System.EventArgs e) { Application.Quit(); } Мажмём F5 и если всё сделано правильно - получим окно. Нажмём это Файл/Выход. Ура!Вышел! Дальше надеюсь легче. Что бы сделать просмотр этого файла вернёмся в дизайн и на свободный кусок VBox-а бросим scrolledwindow, в него Text View. Наименование этому View-у сменим на dataView. В меню сделаем пункт "смотреть" и прописываем ему слот OnView. Код этого слота сделаем таким: Code protected virtual void OnView (object sender, System.EventArgs e) { //Создаём интерфейс диалога для открытия файлов FileChooserDialog dialog=new FileChooserDialog( "Please select a logfile to view ...", this, FileChooserAction.Open, "Cancel", ResponseType.Cancel, "Open", ResponseType.Accept ); dataView.Buffer.Text = ""; //Пытаемся открыть диалог и если юзер выберет файл то отобразим его if( dialog.Run()==( int )ResponseType.Accept ){ //Создаём интерфейс файла System.IO.StreamReader file=System.IO.File.OpenText(dialog.Filename); //Считываем в dataView.Buffer весь файл dataView.Buffer.Text=file.ReadToEnd(); //Закроем файл file.Close(); } //Выгрузим интерфейс диалога dialog.Destroy(); } [/code] Всё должно работать. Жмём F5. О чудо! всё работает. Вроде Откроем любой файл. У меня открыло. Для непонимающих объясню почему такая сожная инициализация диалога Code FileChooserDialog dialog=new FileChooserDialog( "Please select a logfile to view ...", this, FileChooserAction.Open, "Cancel", ResponseType.Cancel, "Open", ResponseType.Accept ); первый параметр конструктора - "Please select a logfile to view ..." - заголовок диалога. Второй this - окно предка (для которого диалог модален) FileChooserAction.Open - чтио делать и какую кнопу (Open/Save) "Cancel", ResponseType.Cancel, "Open", ResponseType.Accept | Кнопки и получаемые от нажатия на них ответы |
|