Опубликован: 13.07.2010 | Уровень: специалист | Доступ: платный
Самостоятельная работа 27:

Разработка комбинированного компонента

Добавление объектов всплывающей подсказки

Для пущей красоты (и для знакомства) добавим к LinkLabelвсплывающие подсказки (оперативные справки) - объекты класса ToolTip, генерирующие окно сообщений при наведении курсора на прикрепленный объект. К сожалению, компонент LinkLabel не имеет встроенного свойства ToolTip, которое бы прикрепляло саму справку к компоненту. Поэтому мы вначале создадим саму подсказку - объект типа ToolTip, а затем уже прикрепим объект LinkLabel к этой подсказке. В коде стартовой формы нашей лабораторной работы имеются 3 объекта LinkLabel, поэтому создадим 3 объекта всплывающей подсказки ToolTip.

  • В начале класса Start (удобнее перед конструктором класса) создайте и инициализируйте два одномерных массива
public partial class Start : Form
    {
        // Массив сообщений всплывающих подсказок для LinkLabel
        String[] strTips =
            {
                "Тест для компонента кнопки,\n" +
                "генерирующей щелчки мыши",
                "Тест для компонента скроллирующей кнопки \n" +
                "со стрелками, генерирующей щелчки мыши",
                "Тест для компонента текстового \n" +
                "поля со счетчиком"
            };
    
        // Массив ссылок для объектов всплывающих подсказок
        ToolTip[] tips = 
            {
                new ToolTip(),
                new ToolTip(),
                new ToolTip()
            };
    
        public Start()
        {
            InitializeComponent();
        }
    
        Form frm;
    
        .......................................................
    }
Листинг 19.3. Создание двух массивов для всплывающих подсказок ToolTip
  • В конструкторе класса Start после вызова функции инициализации компонентов формы вставьте код, связывающий объекты подсказок с кнопками-ссылками и настраивающий эти подсказки
public Start()
        {
            InitializeComponent();
    
            // Привязка всплывающих подсказок к запускающим кнопкам
            tips[0].SetToolTip(linkLabel1, strTips[0]);
            tips[1].SetToolTip(linkLabel2, strTips[1]);
            tips[2].SetToolTip(linkLabel3, strTips[2]);
    
            // Настройка ToolTip
            for (int i = 0; i < tips.Length; i++)
            {
                tips[i].IsBalloon = true;// Использовать окно подсказки
                tips[i].ToolTipIcon = ToolTipIcon.Info;// Иконки
                tips[i].ToolTipTitle = "Упражнение " + (i + 1); // Заголовок
                tips[i].ForeColor = Color.Magenta;  // Цвет текста
                tips[i].BackColor = Color.LightGoldenrodYellow; // Цвет фона
            }
        }
Листинг 19.4. Код прикрепления объектов-подсказок и их настройка

Таблица цветов структуры Color

Цвета для объектов подсказки выберите из приведенной таблицы по своему вкусу.





  • Запустите тестовую форму и проверьте механизм работы всплывающих подсказок


Теперь для запуска тестов нескольких упражнений мы подготовились и можно приступать к разработке пользовательских компонентов.

Иван Циферблат
Иван Циферблат
Россия, Таганрог, 36, 2000