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|73365337

png
600152
400101\|68930594
png32
32|00061105png
574388
400270\|22199530
png570
388400
272|70475274png
175119\|76188703
png259
113|73454444png
260114\|81121380
png600
458400
305|99596947png
287141\|97335681
png284
60|57348228png
500116
40092\|80016752
png600
158400
105|07881039png
600447
400298\|59518869
png123
34|52482416png
16399\|88734570
png498
376399
302||knopki_tekst_baksy_i_metki|1392798426