Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/14: Рейтинг темы: голосов - 14, средняя оценка - 4.71
0 / 0 / 1
Регистрация: 22.04.2010
Сообщений: 12

Обработка событий для динамически создаваемых Textbox

01.06.2012, 22:01. Показов 2947. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
По нажатию на кнопку внутри Меню создаю новые вкладки TabPage для TabControl.
Каждая новая вкладка после создания должна содержать новый FastColoredTextBox (полный аналог Textbox).

И вкладки и FastColoredTextBox создаются, однако для FastColoredTextBox необходимо обработать событие TextChanged.
При попытке обработать событие появляется ошибка: Нет перегруженного метода для "fastColoredTextBox_TextChanged", который соответствует делегату "System.EventHandler".

Текст программы:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
 private void новаяВкладкаToolStripMenuItem_Click(object sender, EventArgs e)
        {
            tabscount++;
            TabPage newTabPage = new TabPage();
            newTabPage.Name = "tabPage" + tabscount;
            FastColoredTextBox newFastText = new FastColoredTextBox();
            newFastText.Name= "fastColoredTextBox"+tabscount;
            tabControl1.Controls.Add(newTabPage);
            newTabPage.Controls.Add(newFastText);
            newFastText.Text = @" ";
            // ошибка здесь
            newFastText.TextChanged += new EventHandler(fastColoredTextBox_TextChanged);         
            newFastText.Visible = true;
            this.Controls.Add(tabControl1);          
        }
 
  //обработка события
  protected void fastColoredTextBox1_TextChanged(object sender, TextChangedEventArgs e)
        {
            var sw = Stopwatch.StartNew();
            
            e.ChangedRange.ClearStyle();
            //подсветка базовых типов
            e.ChangedRange.SetStyle(Color.Blue, @"\b(int|float|double|string|real|bool)\b");
            //...и тд..
             //.....
            sw.Stop();
            Console.WriteLine(sw.ElapsedMilliseconds);
            //подсветка { } скобок
            HighlightBrackets();
        }
Подскажите пожалуйста, как исправить ошибку.
Буду рада любому совету/замечанию.
Спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.06.2012, 22:01
Ответы с готовыми решениями:

Название создаваемых динамически событий кнопок
Здравствуйте, я пишу сапера на C# Я создаю все кнопки динамически с помощью 2х циклов for (int j = 0; j < 9;...

Eventhandler для динамически создаваемых контроллов
Вопрос в том, как указать свой (индивидуальный) метод для каждого динамического контролла? for (z = 0; z < 10; z++) ...

Событие CheckedChanged для динамически создаваемых Radiobutton
Уважаемые форумчане, подскажите как определить событие CheckedChanged для динамически создаваемых Radiobutton? Я сделал следующее:...

2
 Аватар для Vermilion
200 / 168 / 38
Регистрация: 21.10.2011
Сообщений: 178
01.06.2012, 23:14
TextChanged принимает EventArgs, а не TextChangedEventArgs. Исправьте,
C#
1
protected void fastColoredTextBox1_TextChanged(object sender, EventArgs e)
0
0 / 0 / 1
Регистрация: 22.04.2010
Сообщений: 12
02.06.2012, 00:00  [ТС]
тогда пишет ошибки относительно


"System.EventArgs" не содержит определения для "ChangedRange" и не был найден метод расширения "ChangedRange", принимающий тип "System.EventArgs" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку)
ошибка в строке
e.ChangedRange.ClearStyle();

вот как TextChangedEventArgs связан с EventArgs
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class TextChangedEventArgs : EventArgs
    {
        /// <summary>
        /// This range contains changed area of text
        /// </summary>
        public Range ChangedRange { get; set; }
 
        /// <summary>
        /// Constructor
        /// </summary>
        public TextChangedEventArgs(Range changedRange)
        {
            this.ChangedRange = changedRange;
        }
    }
}
Добавлено через 39 минут
ошибку устранила таким способом
C#
1
newFastText.TextChanged += new EventHandler<TextChangedEventArgs>(fastColoredTextBox_TextChanged);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.06.2012, 00:00
Помогаю со студенческими работами здесь

Обработка событий динамически созданных объектов WinForms
В проекте есть две обособленные формы Form1 и Form2. На Form2 динамически в ячейки элемента tableLayoutPanel циклом загоняются объекты...

Обработка событий TextBox
Привет. Допустим у меня есть несколько TextBox'ов. Мне нужно проверить вводимые данные. Правила ввода одни и те же. Но для проверки мне...

Массовая обработка событий в нескольких TextBox
Создаю 10 текстовых полей и на каждое поле нужно навесить обработку события Validating. Можно на все поля навесить одну обаботку? ...

Обработка событий в элементе управления textbox
Здравствуйте, помогите пожалуйста(лучше кодом, или примером) по такому вопросу: имеется на форме textbox и кнопка, когда мы в textbox'e...

Позиционирование динамически создаваемых GroupBox
У меня програмно создается гроуп бокс. Но их создается несколько. Вот такой вот функцией. private void gb() { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru