|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.09.2011, 20:52 | #1 |
Пользователь
Регистрация: 07.12.2009
Сообщений: 46
|
Взаимодействие элементов управления в 2-х формах
Доброго времени суток всем! Не могу решить следующую задачу.
Исходные данные: Имеется форма №1 (главная форма) с textbox-ом, имеется форма №2 с DataGridView. Форма №2 реализована в виде Docking панели при помощи Krypton-а. Задача: Занести все встречающиеся символы в DataGridView, то есть новый встретившийся символ в новую ячейку. (Так к сведению, задача решается для того чтобы затем определить частоту встречающихся символов). Заранее благодарен! |
29.09.2011, 23:05 | #2 |
Дружите с Linq ;)
Форумчанин
Регистрация: 15.10.2008
Сообщений: 822
|
М...думаю, что тут надо сначала сформировать частотный словарь, потом кинуть его в datasource DataGridView. С Krypton не работал, но думаю, что все это не сложнее DevExpress. Итого: Формируем частотный словарь (реализация может быть разной(Tuple,свой класс, пробег по строке(сравнивая первый символ.Если встретили, удаляем, увеличиваем счетчик, потом заносим в Dictionary<char,int>).
Сформировав словарь, кидаем в источник данных, предварительно преобразовав. Как это сделать? Все зависит от реализации словаря.
Не давай организму поблажки, каждый день тренируй его в шашки..
|
29.09.2011, 23:20 | #3 |
Пользователь
Регистрация: 07.12.2009
Сообщений: 46
|
Уточнения
Спасибо. Но речь идет о передаче данных из TextBox (контрол принадлежит Form) в DataGridView (принадлежит UserControl). Вот то что я пытаюсь сделать.
Спасиба. |
29.09.2011, 23:46 | #4 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
Контролы всего-лишь отображают информацию и позволяют её вводить. Никакой логики они нести не должны.
Ввели текст в TextBox -> вызвалась функция, которая определяет какие символы и с какой частотой встречаются -> результат работы функции заполняется в коллекцию -> Коллекция биндится (Binding) к DataGridView. В итоге текстбокс ничего не знает о гриде и наоборот. |
30.09.2011, 10:47 | #5 |
Наркоман самоучка
Форумчанин
Регистрация: 22.07.2007
Сообщений: 276
|
Можно сделать у второй формы метод ShowTextLetter(string text); - он должен обработать текст и вывести символы в DataGridView. Данный метод можно вызывать из обработчика события TextBox.TextChanged.
#include <мозг.h>
|
06.10.2011, 02:50 | #6 |
Пользователь
Регистрация: 07.12.2009
Сообщений: 46
|
Спасибо Руслантусу за дельный совет. Реализовать получилось, но не совсем так как хотелось бы.
UserControl1 Код:
Код:
UserControl1 Код:
Код:
Спасиба. Последний раз редактировалось samouelson; 06.10.2011 в 03:07. |
06.10.2011, 08:29 | #7 |
Наркоман самоучка
Форумчанин
Регистрация: 22.07.2007
Сообщений: 276
|
Во-первых, метод ShowTextLetter должен сразу отображать буквы текста, то есть, первый вариант не правильный.
Во-вторых, зачем вы каждый раз создаёте элемент управления: Код:
Код:
#include <мозг.h>
|
06.10.2011, 17:32 | #8 |
Пользователь
Регистрация: 07.12.2009
Сообщений: 46
|
Если делать так как вы имеете ввиду Руслантус, то вылазит ошибка Для нестатического поля, метода или свойства "KryptonToolStripFormProject1.UserC ontrol1.ShowTextLetter(string)" требуется ссылка на объект. А Вашу мыслю я реализую следующим образом:
Код:
|
06.10.2011, 18:11 | #9 |
Наркоман самоучка
Форумчанин
Регистрация: 22.07.2007
Сообщений: 276
|
Вам же нужна ссылка на экземпляр класса данного элемента управления.
Код:
#include <мозг.h>
|
11.10.2011, 01:13 | #10 |
Пользователь
Регистрация: 07.12.2009
Сообщений: 46
|
Проблема в том, что я не могу получить из Form1 доступ к элементам управления (к тому же DataGridView), находящимся на UserControl. Запрашивает ссылку на объект. Как это сделать? Спасибо.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Содержимое элементов управления | sr.Meskalito | Microsoft Office Word | 0 | 23.03.2011 11:49 |
Массив элементов управления | Рик | Общие вопросы Delphi | 6 | 03.03.2011 20:30 |
проблема использования элементов управления в word | sirius_ltd | Microsoft Office Word | 2 | 30.09.2010 17:51 |
Динамическое расположение элементов управления | Rodion | Microsoft Office Excel | 1 | 27.04.2010 13:19 |
Использование элементов управления | akd2009 | Microsoft Office Excel | 2 | 30.10.2009 19:55 |