![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| thomas |
|
|||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 6 Всего: 65 |
Приветствую всех.
Из DataSources перетащил на форму две таблицы. Студия автоматом добавила на форму BindingNavigator и BindingSource для parent таблицы, а также DataSource для child таблицы. Если для кнопки Save на BindingNavigator код пишем сами(можно посмотреть и отредактировать), то для кнопок "AddNew" и "Delete" она(студия) что-то где-то сама прописала. Потому как при запуске приложения если нажать на соответствующую кнопку, то получим либо новый item, либо удалим текущий. Вопрос: где можно посмотреть код определяющий эти события? в каком классе, файле зашита обработка этих действий. Ведь они не происходят из воздуха. Больше всего интересует добавление нового item. Как оно происходит? Что написано в коде этого события? Где этот код? ЗЫ у BindingNavigator есть свойство AddNewItem, студия сама присваивает ему значение bindingNavigatorAddNewItem(это имя кнопки(ToolStripButton) в BindingNavigator). И прокоментировано оно так: The ToolStripItem on the BindingNavigator that raises the 'Add new' action. А где код этой action? -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
|||
|
||||
| informatik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 4.11.2007 Репутация: нет Всего: 6 |
Привет thomas.
Могу вот что сказать: BindingNavigator связан с соответствующим BindingSource. BindingNavigator слушает событие Click своих элементов и вызывает соответствующий метод у BindingSource. Т.е. если произошло событие Click элемента MoveFirstItem, то BindingNavigator вызывает метод MoveFirst у связанного с ним BindingSource. Ну в общем примерно так... то что знаю.. Это сообщение отредактировал(а) informatik - 3.2.2008, 18:49 --------------------
namespace informatik |
|||
|
||||
| thomas |
|
||||||||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 6 Всего: 65 |
informatik,
Приветствую. Речь идет о кнопке с плюсиком, т.е. AddNew/. А не о
Вопрос о том, где в коде описано вот это
Потому как в дизайнере формы события клик для этой кнопки не прописано.
А вот у кнопки сохранить, событие клик прописано.
Так и где клад? -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
||||||||
|
|||||||||
| informatik |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 4.11.2007 Репутация: нет Всего: 6 |
bindingNavigator имеет ряд свойств: AddNewItem, MoveFirstItem и т.д., каждое из которых имеет тип ToolStripItem, и для каждого свойства создан элемент с данным типом...., еще у bindingNavigator есть свойство BindingSource которому присвоен элемент соответствующего типа, т.е. для AddNewItem - выполняется метод AddNew у соответствующего BindigSource....
Событию не присвоен метод-обработчик, но событие то происходит... И в классе bindingNavigator есть соответствующие инструкции созданные разработчиком, по которым данный класс слушает свои элементы и выполняет соответствующие действия... А конретнее выполняет методы у связанного с ним BindingSource. Это сообщение отредактировал(а) informatik - 3.2.2008, 20:03 --------------------
namespace informatik |
||||
|
|||||
| thomas |
|
||||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 6 Всего: 65 |
informatik,
Как выполняется? Где код посмотреть? Добавлено через 1 минуту и 10 секунд
вот меня и интересует как оно происходит? какие параметры и куда передаются и как обрабатываются? -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
||||
|
|||||
| informatik |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 4.11.2007 Репутация: нет Всего: 6 |
Событие инкапсулировано в классе BindingNavigator и увидеть его неполучится как и другие инкапслуированные "вещи" созданные разработчиком. И в принципе там написано что-то похожее на вот это:
Если AddNew тогда:
Если нужно написать свой обработчик, тогда следует поступить так: 1. В окне свойств у BindingNavigator, свойству AddNewItem присвоить значение (none), тем самым обработчик встроенный в BindingNavigator выполняться небудет. 2. Выбрать элемент bindingNavigatorAddNewItem (стандартное название) у BindingNavigator и присвоить свой обработчик события Click, где следует написать следующее:
Параметры передаются теже что и параметры события Click класса ToolStripItem.... Это сообщение отредактировал(а) informatik - 3.2.2008, 20:48 --------------------
namespace informatik |
||||||
|
|||||||
| thomas |
|
|||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 6 Всего: 65 |
В общем проблему решил при помощи Reflector для .NET.
Посмотрел в нем соответствующую библиотеку. -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |