Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.12.2010, 20:49   #1
mMAg
Форумчанин
 
Аватар для mMAg
 
Регистрация: 11.08.2009
Сообщений: 433
По умолчанию Работа с TableLayoutPanel

Создал на форме TableLayoutPanel. Затем сделал вот так:

Код:
public partial class Form1 : Form
    {

        private List<Label> allWords = new List<Label>();

        public void AddLabel(string text)
        {
            Label a = new Label();
            a.Text = text;
            a.Parent = tableLayoutPanel2;
            a.Dock = DockStyle.Bottom;
            allWords.Add(a);
        }

        public void CreateAllWords()
        {
            using (StreamReader sr = new StreamReader("words.txt"))
            {
                while (!sr.EndOfStream)
                {
                    string s = sr.ReadLine().ToString();
                    AddLabel(s);
                }
            }
        }
Затем сделал вот так:

Код:
private void tableLayoutPanel2_MouseDown(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                int i = (e.X - tableLayoutPanel2.Left) / (Width / tableLayoutPanel2.ColumnCount);
                int j = (e.Y - tableLayoutPanel2.Top) / (Height / tableLayoutPanel2.RowCount);
                allWords[i + j * tableLayoutPanel2.ColumnCount].BackColor = Color.Red;
            }
        }
То бишь обработчик нажатия клавиши мыши для tabelLayoutPanel.

Но проблема в том, если кликать по лейблам созданным, то обработчик не работает. Каким образом можно сделать так, чтобы событие срабатывало и по нажатию на Label'ы, которые фактически принадлежат tableLayoutPanel2?
mMAg вне форума Ответить с цитированием
Старый 22.12.2010, 10:59   #2
mMAg
Форумчанин
 
Аватар для mMAg
 
Регистрация: 11.08.2009
Сообщений: 433
По умолчанию

А, да. Повесил на событие нажатия клавиши каждого label делегированную функцию. Всё заработало, как мне и хотелось.
mMAg вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с матрицами (норма матрицы, работа со строками) Neitrosha Помощь студентам 1 26.11.2010 20:19
Задача. Работа с псевдослучайными последовательностями (ПСП). Работа с цветом. 0101 Помощь студентам 3 17.12.2009 23:57
Работа с webbrowser - Фреймы, работа с конкретным феймом в фрейме NewDelphi Фриланс 2 08.10.2009 11:00