Самостоятельно сделать подсказку дополнительно к textBox или к label

Практикум

Основы разработки визуальных приложений в Visual Studio (С++/С#)

 

Официальный учебный курс Microsoft: http://msdn.microsoft.com/ru-ru/library/ms229601(v=vs.110).aspx

 

Задание 1. Компонент Button, MessageBox

 

1. В меню Файл выберите команду Создать и выберите Проект.

Откроется диалоговое окно Создать проект.

2. В средней области выберите шаблон:CLR (общеязыковая исполняющая среда) – Приложение Windows Forms.

3. В текстовом поле Имя задаем имя проекта.

4. В текстовом поле Расположение укажите каталог, в котором сохраним проект.

Написание кода приложения:

1. Вставьте элемент Button

2. Дважды щелкните кнопку, чтобы добавить обработчик событий Click. Откроется редактор кода, при этом положение курсора окажется внутри обработчика событий.

3. Вставьте код:

Для C++: MessageBox::Show("Hello, Student!");

Для C#: MessageBox.Show("Hello, Student!");

Тестирование приложения:

4. Нажмите клавишу F5 для запуска приложения.

5. Когда приложение запущено, нажмите кнопку и проверьте, отображается ли фраза "Hello, Student!"

6. Сохраните. Откройте папку проекта, изучите наполнение, в том числе исполняемый файл.


Задание 2. Компоненты BUTTON, TEXTBOX, LABEL

Написание кода приложения

1. Создайте новый проект

2. Выберете элементы – "Button", "Textbox" и "Label, перетащите их на форму.

3. У элемента "button1" выберете свойство "Text" и напишите там вместо "button1"– “Копировать”.

4. Далее щёлкните два раза по форме – раскроется новое окно с программным кодом. В данном случае откроется событие Form_Load, где вам пишем label1->Text = ""; Эта строка говорит о том, что, когда произойдёт запуск (загрузка) программы, текст "label1" станет равным «""» (пустым).

 

 

5. Далее выберите вкладку "Form1.h[Конструктор]". Найдите событие "button1_Click". Напишите в нём label1->Text = textBox1->Text; ,т.е. когда, при загрузке формы, нажмём на кнопку произойдёт действие: текст, написанный, в "textBox1" скопируется в "label1".

 

Листинг_C++:

#pragma endregion
private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) {
label1->Text = "";
}

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
label1->Text = textBox1->Text;
}

Листинг_C#:

namespace One_1_
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
label1.Text = "";
}

private void button1_Click(object sender, EventArgs e)
{
label1.Text = textBox1.Text;
}

}

 

6. Результат:

 


Задание 3. Компонент MessageBox в MVS C++/C#

Перенесите на форму "button" и"textBox", а так же два "label"

 

 

Листинг_C++:

#pragma endregion

 

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {

MessageBox::Show("Приветствую " + textBox1->Text + "!","Новое окно");

}

 

private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) {

this->Text = "Форма приветствия";

label1->Text = "Имя: ";

label2->Text = "Введите ФИО";

button1->Text = "Ввод";

}

Листинг_C#:

namespace Two_1_
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
this.Text = "Форма приветствия";
label1.Text = "Name: ";
label2.Text = "Напишите ваше имя.";
button1.Text = "Ввод";
}

private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("Здраствуй " + textBox1.Text + "!");
}

 

}
}

 

Задание 4. Событие MouseHover в MVS C++/C#

Задача: разработать приложение, в котором при наведении на один из его компонентов, для которого описано данное событие, элемент изменял свои свойства.

1. Перенесите на форму элемент "label". Откройте список его свойств. Находим список событий («жёлтая молния»), нажимаем на него и выбирайте событие "MouseHover" (щелкните на него дважды).

2. Пропишем для “label” – свойство TextAlign center, что бы надпись была в середине.

3. Заполняем событие Form1_Load и событие label1_MouseHover

 

Листинг_C++:

#pragma endregion

private: System::Void label1_MouseHover(System::Object^ sender, System::EventArgs^ e) {

label1->TextAlign = ContentAlignment::MiddleCenter;

label1->Text = "Сработало!!!";

label1->ForeColor = Color::Red;

MessageBox::Show("Наведение \n сработало!", "Окно", MessageBoxButtons::OK, MessageBoxIcon::Error);

}

 

private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) {

Form1::Text = "Hover";

label1->TextAlign = ContentAlignment::MiddleCenter;

label1->Text = "Наведите курсор";

}

 

Листинг_C#:

namespace Three_1_
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
this.Text = "Hover";
label1.TextAlign = ContentAlignment.MiddleCenter;
label1.Text = " Наведите курсор";
}

private void Form1_MouseHover(object sender, EventArgs e)
{
label1.TextAlign = ContentAlignment.MiddleCenter;
label1.Text = "ERROR!!!";
label1.ForeColor = Color.Red;
MessageBox.Show("Наведение \n сработало!", "Fatal ERROR!",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}

 


Задание 5. Компонент ToolTip (визуальная подсказка) в MVS C++/C#

Задача: разработать приложение, в котором при наведении курсора мыши на текстовое поле, будет появляться визуальная подсказка в виде текста.

1. Перенесите на форму из панели инструментов "label", "button", "textBox" и подсказку "ToolTip".

2. После оператора косвенного обращения ( -> оператора похожего на стрелку) "toolTip1->" указывается стиль подсказки – "Balloon", затем пишется элемент, возле которого должна появляться подсказка, а после запятой в кавычках пишется сам текст подсказки. Добавьте к заданию код в Form1_Load :

Листинг_C++:

//------------- реализация ToolTip

private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) {

toolTip1->SetToolTip(button1, "Визуальная\r\nподсказка");

// Должна ли всплывающая подсказка использовать всплывающее окно:

toolTip1->IsBalloon = true;

// Если IsBalloon = false, то используется стандартное // прямоугольное окно

}

 

Листинг_C#:

//------------- реализация ToolTip
toolTip1.SetToolTip((button1, "Визуальная\r\nподсказка");
toolTip1.IsBalloon = true;
}

Самостоятельно сделать подсказку дополнительно к textBox или к label

 

 

 


Задание 6. Изменение свойств текста и формы в MVS C++/C#. Свойство формы «BackGroundImage»

 

Задача:приложение требует оригинального оформления (цвет кнопки, задать фон формы, загрузив изображение). Разработать приложение, в которомбудем записывать на фоне изображения текст, задав изображения для заднего фона ("BackGroundImage") формы и изменив цвет кнопки.

 

1. Для реализации приложения понадобятся "textBox", "label", кнопка "button" и изображение:

2. Создав новый проект в "Windows Forms" нажмите на форму, выбрать свойство "BackGroundImage":


 

Откроется проводник. Выберите найденное заранее изображение (например, классная доска). Согласовать картинку с размерами формы (задать размер формы, равный размеру изображения).

3. Выбираем элемент "button", выбираете в его свойствах "BackColor" и ставите нужный цвет:


 

4. Изменим шрифт элемента "label". Для этого нажмите на него и выберите свойство "Font". Далее выберите размер 48 и любой стиль шрифта:


 

  1. В форму вносим текст, он отображается по нажатию кнопки мыши.

  1. Листинг:

Листинг_C++:

#pragma endregion
private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) {
this->Text = "Школьная доска";
label1->Text = "";

button1->Text = "Кнопка";

}

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
label1->Text = textBox1->Text;

 

Листинг_C#:

namespace Four_1_
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
this.Text = "Школьная доска";
label1.Text = "";
}

private void button1_Click(object sender, EventArgs e)
{
label1.Text = textBox1.Text;
}
}
}

 

Задание 7. Использование функции «PasswordChar» для реализации ввода пароля в MVS C++/C#.

Задача:разработать приложение, в котором создать панель ввода пароля (при вводе вместо вводимых знаков отображаются звёздочки «*»). Можно задать любой другой символ: функция «PasswordChar».

Создадим проект, в котором в текстовое поле надо будет ввести условный пароль, после нажатия на кнопку появится окно сообщений и покажет пароль.

Создайте новый проект в приложении в "Windows Forms" и перенесите на форму из панели инструментов “textBox”, “button” и “pictureBox”. В свойствах “pictureBox” отредактируйте свойства “Image” или "BackgroundImage” (вставьте иконку). Также текст должен вводиться из середины поля.

Листинг_C++:

#pragma endregion
private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) {
this->Text = "Ввод пароля";
textBox1->PasswordChar = '*';
textBox1->TextAlign = HorizontalAlignment::Center; // пишем текст из середины
button1->Text = "Ввод";
}

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
MessageBox::Show(textBox1->Text, "Вы ввели:");
}

};
}

 

Листинг_C#:

namespace Five_2_
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
this.Text = "Ввод пароля";
textBox1.PasswordChar = '*';
textBox1.TextAlign = HorizontalAlignment.Center; // пишем текст из середин
button1.Text = "Ввод";
}

private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(textBox1.Text, "Вы ввели:");
}
}
}

Задание 8. Загрузка изображения в PictureBox при компонента ComboBox в MVS C++/C#

 

Задача:разработать приложение, в котором из выпадающего списка будет реализовываться выгрузка изображений.

1. Перенесите на форму элементы – "lable", "comboBox", и "PictureBox".

2. В "comboBox" будет находиться список из 3-х слов (например, базовые структуры алгоритмов). При выборе одного из слов в списке должна появляться картинка, а в "label" её название.

3. Что бы занести в "comboBox" список, необходимо найти в свойство "Items" и внести через "enter" слова.

4. В листинге необходимо прописать пусть до файлов с изображениями


 

Листинг_C++:

#pragma endregion

private: System::Void comboBox1_SelectedIndexChanged(System::Object^ sender, System::EventArgs^ e) {

switch (comboBox1->SelectedIndex)

{

case 0: pictureBox1->Image=Image::FromFile("d:\\8-1.jpg");

label1->Text = "Следование"; break;

case 1: pictureBox1->Image=Image::FromFile("d:\\8-2.jpg");

label1->Text = "Развилка"; break;

case 2: pictureBox1->Image=Image::FromFile("d:\\8-3.jpg");

label1->Text = "Цикл"; break;

 

}

}

 

private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) {

this->Text = "Форма выбора";

label1->Text = "";

comboBox1->Text = "Список";

}

};

 

Листинг_C#

namespace Seven_1_
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
this.Text = "Форма выбора";
label1.Text = "";
comboBox1.Text = "Список";
}

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
switch (comboBox1.SelectedIndex)
{
case 0: pictureBox1.Image=Image.FromFile("d:\\7.0.png");
label1.Text = " Следование "; break;
case 1: pictureBox1.Image=Image.FromFile("d:\\7.1.png");
label1.Text = " Развилка "; break;
case 2: pictureBox1.Image=Image.FromFile("d:\\7.2.png")
; label1.Text = " Цикл "; break;

}
}

}
}