воскресенье, 18 августа 2013 г.

Информационное окно и компонент ToolTip

Создать программу, в которой реализовать оконное приложение, содержащее кнопку формирования элементов списка CheckedListBox, сам список CheckedListBox и кнопку, выдающее в стандартное диалоговое окно (в информационное окно) количество отмеченных элементов в списке.
В отдельном классе реализовать метод формирующий строку заданой длины из случайных символов, а также метод, формирующий массив таких строк.
Включить в форму компонент ToolTip. При его добавлении каждый элемент формы приобретает свойство ToolTip on toolTip1. Его строковое значение отображается во всплывающем окне. У самого компонента ToolTip имеется свойство ToolTipTitle, значение которого служит заголовком всех сообщений во всплывающих окнах элементов.




Настройки свойств элементов:
CheckedListBox.checkedOnClick=true;
ToolTipTitle = Информация из компонента ToolTip:
button1.ToolTip on toolTip1 = Формируется список строк со случайными значениями символов;
button1.ToolTip on toolTip1 = Отмеченные пункты
Объявление класса:
namespace WinProg_3_2  {
    class Methods {
// This method generates a string: 
public static string stringGenerate(int charNumber)  {
    Random rnd = new Random();
// array to which string is buffered:
    char[] arStr = new char[charNumber];
// generate a string:
    for (int i = 0; i < charNumber; i++)
        arStr[i] = (char)(rnd.Next('a', 'z' + 1));
    return new string(arStr, 0, charNumber);
} // end of stringGenerate()

// This method returns an array of random strings
public static string[] stringArray(int arrayLength)  {
    string[] arStr = new string[arrayLength];
    Random rnd = new Random();
    for (int i = 0; i < arrayLength; i++)
        arStr[i] = stringGenerate(rnd.Next(4, 8));
    return arStr;
} // end of stringArray()
} // end of class Methods
}
Результат проектирования интерфейса:
namespace WinProg_3_2 {
public partial class Form1 : Form {
    public Form1() {
        InitializeComponent( );
    }
// Create a list of strings:
private void button1_Click(object sender, EventArgs e) {
checkedListBox1.Items.AddRange(Methods.stringArray(10));
            checkedListBox1.Sorted = true;
    }
// Count a number of checked items:
private void button2_Click(object sender, EventArgs e) {
    string outStr;
    outStr = (checkedListBox1.CheckedItems.Count == 0) ?
        "Нет отмеченных пунктов": "Отмечено " +
        checkedListBox1.CheckedItems.Count +" пунктов";
        MessageBox.Show(outStr);           
    }   // button2_Click()
}   // class Form1
}   // namespace