Уроки моддинга
Основной раздел
Search
K
Links

000149. Кнопки, Текст-боксы и метки

Кнопки, Текст-боксы и метки||wmysterio|wmysterio|[email protected]|/||Всем хай! Мы продолжаем изучать формы Windows, и сегодня мы ознакомимся ещё с двумя элементами, как кнопки и метками. Начнём с кнопок. Они находятся в категории "Стандартные элементы управления". Перетащим её на нашу форму:
Давайте изменим внешне нашу кнопку, добавив изображение на неё. Оставим пустое поле в свойстве кнопки "Text", что бы он не мешал нам. Я подготовил специальный флаг, который вот: (выложил, что бы вы могли его скачать если вдруг надумаете повторять те действия, которые в данный момент делаю я)
Теперь делаем следующее в свойствах кнопки: 1) Находим свойство "Image", и нажимаем на "...". 2) Перед нами появится окно выбора ресурса. Нажимаем на кнопку "Импорт":
И указываем картинку, которую хотим добавить. 3) После загрузки в ресурсы картинки, выбираем её, и нажимаем "ОК":
Теперь на нашей кнопке появился этот рисунок. Чтобы он нормально отображался на форме, изменим размер кнопки на 34х34:
Переместим нашу кнопку в правый верхних угол и зададим ей свойство "Anchor" на это:
А также это же свойство для текстового поля:
Таким образом элементы формы будут изменятся от размера самой формы. На конец, переместим наши элементы в более удобную композицию, оставив немного пустого места внизу, для нашей метки:
Теперь программа очень напоминает обычный браузер, только упрощенный. Сами-по-себе кнопка и поле бесполезные, так как не выполняют никаких действий. Наша задача - заставить кнопку переходить на сайт, который пользователь введёт в текстовое поле. Для этого выделим нашу кнопку и зайдём в её свойства. Найдите там "События"(иконка молнии):
и найдите там поле "Click", поле чего нажмите 2 раза ЛКМ на пустом поле возле него:
Компилятор сформирует нам обработчик события, в котором мы должны прописать переход на сайт:
В нём мы должны прописать следующий код:
webBrowser1.Url = new Uri( textBox1.Text );
Действует это так: 1) Получаем ссылку с помощью конструктора new Uri, в параметр которого строковый адрес web-ресурса. В место строки мы указываем текст "Тестового поля" и создаём новый объект - Веб-ссылка. Общая схема такова:
Но здесь нужно быть осторожным, так как ссылка имеет строгий формат(как и обычная web-ссылка). Она должна содержать протокол http или подобные, должна содержать латинские символы. Что-бы избежать ошибок, типа "Недопустимый URI: Невозможно определить формат URI." кинем наш код блок try:
try { webBrowser1.Url = new Uri( textBox1.Text ); } catch { return; }
Таким образом мы обезопасили себя от нестабильной работы. Однако нужно сообщать пользователю о неверном формате, иначе он будет в недоумении от того, почему браузер не переходит по заданной ссылке. Есть два способа этого сделать: 1) Через статичный класс MessageBox. В блоке catch в место return нужно написать:
} catch { MessageBox.Show("Неправильный адрес WEB-ссылки"); }
Этот способ самый используемый, но я предлагаю вам сделать вывод сообщения по-другому. С помощью меток, заодно и изучим их. Найдём в панели инструментов объект Label:
И переместим его мышью в нижнюю часть макета программы:
Оставим свойство этого Лейбла пустым. А затем в исключении напишем следующий код:
private void button1_Click( object sender, EventArgs e ) { try { webBrowser1.Url = new Uri( textBox1.Text ); label1.Text = ""; } catch { label1.Text = "Неверное имя ссылки!"; } }
Если срабатывает исключение, то мы задаём имя программно для нашей метки. Если всё ввели правильно, то текст метки опять делается пустым. Графически этот процесс можно изобразить так:
Программа ожидает событие "Клик" а затем проверяет текстовое поле на наличие ошибок. Если такие соблюдаются, то идёт обработка исключения с указанием причины путём заполнения текстом метки и идёт прыжок на ожидания события клик. Если ссылка правильная, то текст метки очищается, идёт переход браузера по ссылке и возврат на ожидание события "Клик". Надеюсь, с этим вопросов не возникнет. На этом всё, жду вас в следующих уроках по c# :) |1201|1|0|73365337png600152400101\|68930594png3232|00061105png574388400270\|22199530png570388400272|70475274png175119\|76188703png259113|73454444png260114\|81121380png600458400305|99596947png287141\|97335681png28460|57348228png50011640092\|80016752png600158400105|07881039png600447400298\|59518869png12334|52482416png16399\|88734570png498376399302||knopki_tekst_baksy_i_metki|1392798426