![]() |
Модераторы: gambit, Partizan |
![]() ![]() ![]() |
|
Felan |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 284 Регистрация: 2.8.2007 Где: Самара Репутация: нет Всего: 7 |
Есть форма.
Полные файлы приложил в архиве. Вызывается таким образом:
Так вот. Заполняем поля и жмем Tab. Последовательно. Начиная с фамилии и заканчивая номером квартиры. Т.е. в процессе вводим значение номера дома, потом номера квартиры. Далее жмем таб, переходит фокус на кнопку "отменить", потом жмем таб еще раз и переходим на кнопку "принят", в этот момент значение номера дома (nudHouseNumber) сбрасывается в 0. От чего такое может быть и как от этого избавится? Это происходит только если задавать оба знчения и для квартиры и для номера дома. Если только одно, то все нормально вроде... Присоединённый файл ( Кол-во скачиваний: 2 ) ![]() -------------------- // Любая сложная система - это темный лес. Каждый в этом лесу протаптывает свои тропинки, по ним и бегает. Лишь изредка, сходя с них, мы находим много интересного, а порою и страшного. |
||||
|
|||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 16 Всего: 142 |
А ValidateChildren это что?
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
Felan |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 284 Регистрация: 2.8.2007 Где: Самара Репутация: нет Всего: 7 |
Метод такой есть у формы. Не мой. Родной.
Кстати. Текст остальных классов есть тут Добавлено через 1 минуту и 55 секунд Да и не срабатывает он... для воспроизведения эффетка не нужно нажимать на кнопку. Достоточно просто нажать таб, что бы кнопка получила фокус. -------------------- // Любая сложная система - это темный лес. Каждый в этом лесу протаптывает свои тропинки, по ним и бегает. Лишь изредка, сходя с них, мы находим много интересного, а порою и страшного. |
|||
|
||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 16 Всего: 142 |
Действительно есть ![]() В твоём аттаче только код формы. Запускаешь ты её при помощи непонятных классов. Выложи проект, никто не будет его собирать по кускам, чтобы посмотреть что там не так. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
Felan |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 284 Регистрация: 2.8.2007 Где: Самара Репутация: нет Всего: 7 |
Вот тестовый проект. Эффект посторяется однозначно.
Присоединённый файл ( Кол-во скачиваний: 3 ) ![]() -------------------- // Любая сложная система - это темный лес. Каждый в этом лесу протаптывает свои тропинки, по ним и бегает. Лишь изредка, сходя с них, мы находим много интересного, а порою и страшного. |
|||
|
||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 16 Всего: 142 |
Попробуй так
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
Felan |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 284 Регистрация: 2.8.2007 Где: Самара Репутация: нет Всего: 7 |
Так пробовал. Так нормально все.
Но в этом случае, даже если нажать отмену, то измененные данные все равно сохраняются... что собственно очевидно. Ну это для случая редактирования, когда в форму передается не "чистый" объект, для "нового" человека, а уже существующий, для редактирования. -------------------- // Любая сложная система - это темный лес. Каждый в этом лесу протаптывает свои тропинки, по ним и бегает. Лишь изредка, сходя с них, мы находим много интересного, а порою и страшного. |
|||
|
||||
diadiavova |
|
||||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 16 Всего: 142 |
А для чего вообще тебе тут нужно связывание? Сделай примерно так
Человека опиши примерно такой структурой
Дальше в форму введи метод типа такого
Когда диалог отработает вызовешь у него этот метод, он и выдаст результат. Мне лично не понятно зачем связывать всё. А в ноль оно сбрасывает потому, что связано со свойством и не успевает передать ему значение, а при обновлении возвращается то значение, которое есть у связанного объекта. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
||||
|
|||||
Felan |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 284 Регистрация: 2.8.2007 Где: Самара Репутация: нет Всего: 7 |
Хм... да вобщем-то нет. Я в .NET человек новый ![]() А в чем смысл? Почему нельзяя исползовать тот же класс Man?
Ну с методом понятно... Просто получится немного тяжеловатое решение для варианта редактирования. Ну да фиг с ним... А что все? Что ты имеешь введу под "связывать все"? Ну странно как-то... что за обновление такое и почему оно только для этого происходит а не для всех связей? ЗЫЖ Можешь тогда рассказать в двух словах практику применения связывания? Чисто из опыта? А то такого в книжках не ишут. Это сообщение отредактировал(а) Felan - 30.8.2009, 17:14 -------------------- // Любая сложная система - это темный лес. Каждый в этом лесу протаптывает свои тропинки, по ним и бегает. Лишь изредка, сходя с них, мы находим много интересного, а порою и страшного. |
|||
|
||||
diadiavova |
|
||||||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 16 Всего: 142 |
Можно, но я не знаю как ещё ты этот класс используешь, а структуры удобны для обмена информацией. Да к тому же описание её в трёх строчках содержится. Лишние взаимосвязи между объектами приводят к ошибкам, которые трудно отловить. Но это не значит, что нельзя этот использовать. Смотри по ситуации. Кстати если окошко используется для редактирования записи(а не только создания), то можно не метод а свойство прилепить, в сеттере инициировать начальные значения, а геттер оставить таким же как та функция, что я привёл.
Ну это стандартная работа с диалоговыми окнами. Возьми какой-нибудь файл или колор диалог везде одна схема: Создаётся экземпляр (обычно присутствует конструктор без параметров) Некотором свойствам окна может быть присвоено инициирующее значение Далее проверяется результат работы функции ShowDialog и если он удовлетворяет нужному условию(обычно ОК), то с диалога снимается результат его работы. По-моему этот механизм самый удобный и безопасный.
Там надо позыреть как оно по-умолчанию обновляется. Как видишь, если обновлять при изменении значения то этого не происходит. Я в твой пример запихнул ещё NUD(ни с чем не связанный), эффект вроде пропал, но если пройтись табулятором по кругу ещё раз, то он появляется, только теперь уже для последнего из связанных NUD'ов(котроый квартира). Потом добавил ещё один и то же самое и опять для квартиры. И кстати эффект есть только когда перемещаешься табулятором, а значение меняешь цифровыми клавишами(если менять клавишами со стрелками, то всё нормуль).
Ну обычно связывать удобно с таблицами или коллекциями. Каждый контрол привязывается к какому-то полю таблицы и когда перемещаешься по записям все контролы отображают значение связанного поля текущей записи. Есть ещё другой пример связывания, это связывание с настройками приложения, здесь удобно то, что всё сохраняется даже при закрытии программы. Правда всё это делается в дизайнере, и основные преимущества связывания именно в том, что можно избавиться от значительной части ручного кода, и для работы с данными это удобно, но там всё стандартное и в мсдн полно примеров. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
||||||
|
|||||||
Felan |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 284 Регистрация: 2.8.2007 Где: Самара Репутация: нет Всего: 7 |
Мда... пожалуй. Странно, на делвях сам все время так делал... а тут че-то понесло. Странная фигня. Тему закрывать не буду. Но и сам уже переделал на обычное назначение. Черт с ним с биндингом. Спасибо за отзывчивость ![]() -------------------- // Любая сложная система - это темный лес. Каждый в этом лесу протаптывает свои тропинки, по ним и бегает. Лишь изредка, сходя с них, мы находим много интересного, а порою и страшного. |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Разработка Windows Forms | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |