Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Опять проблемы с наследованием  (Прочитано 15140 раз)
0 Пользователей и 1 Гость смотрят эту тему.
USBLexus
Опытный

ru
Offline Offline
Пол: Мужской
Кот рыжий


« : 18-07-2007 05:38 » 

Привет работникам цифрового фронта!

Столкнулся с такой вот проблемой не знаю как победить:

Есть базовый класс - форма на которой в правом нижнем углу лежат 2 кнопки (protected) - Отменить и Сохранить. Панель на которой они лежат тоже protected.

От него наследует лругой класс, стоит открыть в нем дизайнер кнопки улетают куда-то вправо заграницу экрана в propertys показывается что location >1000  Быть такого не может тогда как в .Designer.cs стоит 600  Здесь была моя ладья... Перетаскиваешь руками кнопки обратно, перекомпилируешь, закрываешь и открываешь дизайнер Не надо - кнопки опять за границей экрана  Здесь была моя ладья...

Как лечить?

Записан

#define QUESTION(b) (2*b)||(!(2*b)) (c) William Shakespeare
USBLexus
Опытный

ru
Offline Offline
Пол: Мужской
Кот рыжий


« Ответ #1 : 06-08-2007 06:42 » 

Тема все еще актуальна, всех кто в курсе проблемы большая просьба откликнуться
Записан

#define QUESTION(b) (2*b)||(!(2*b)) (c) William Shakespeare
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #2 : 06-08-2007 06:45 » 

наверное глюк в редакторе
а только кнопки улетают ? Или любые контролы ?
Записан

Malaja
Команда клуба

de
Offline Offline
Пол: Женский

« Ответ #3 : 06-08-2007 13:27 » 

USBLexus,

я спаслась от подобной проблемы установкой свойства Anchor - т.е. я сначала позиционировала исходный элемент на форме (например TextBox), выставляла для него свойство (в основном завязывала на верхний левый или правый нижний угол), затем в коде меняла название класса с TextBox на TextBoxUseDef, а потом сразу же rebuild all... Для надежности Ага Иначе менеджер почему-то иногда теряет элементы...
Я ни в коем случае не утверждаю, что это точный рецепт, но попробуй - вдруг тебе это поможет.если нет, то сразу прошу прощения...
Записан

холоднокровней, Маня, Ви не на работе
---------------------------------------
четкое определение сущности бытия:
- А мы в прошлом или в будущем?- спросила Алиса.
- Мы в жопе, - ответил кролик.
- А "жопа" - это настоящее? - спросила Алиса.
- А "жопа" - это у нас символ вечности.
USBLexus
Опытный

ru
Offline Offline
Пол: Мужской
Кот рыжий


« Ответ #4 : 07-08-2007 03:48 » 

наверное глюк в редакторе
а только кнопки улетают ? Или любые контролы ?
Пока столкнулся только с кнопками
Записан

#define QUESTION(b) (2*b)||(!(2*b)) (c) William Shakespeare
USBLexus
Опытный

ru
Offline Offline
Пол: Мужской
Кот рыжий


« Ответ #5 : 07-08-2007 03:56 » 

Самое страшное, что после нескольких ребилдов location кнопки может измениться в .Designer.cs и стать >1000, т.е. дизайнер не только перетаскивает кнопку на форме но и правит файлы((( (правда не всегда)
Записан

#define QUESTION(b) (2*b)||(!(2*b)) (c) William Shakespeare
Malaja
Команда клуба

de
Offline Offline
Пол: Женский

« Ответ #6 : 08-08-2007 16:01 » 

USBLexus,

Ты можешь твой проект прицепить к сообщению? Я попробую посмотреть -может что-то кто-то на работе знает.
Записан

холоднокровней, Маня, Ви не на работе
---------------------------------------
четкое определение сущности бытия:
- А мы в прошлом или в будущем?- спросила Алиса.
- Мы в жопе, - ответил кролик.
- А "жопа" - это настоящее? - спросила Алиса.
- А "жопа" - это у нас символ вечности.
USBLexus
Опытный

ru
Offline Offline
Пол: Мужской
Кот рыжий


« Ответ #7 : 27-08-2007 15:50 » 

Проект прицепить не могу, большой очень ) Решили проблему решать так - перетаскивать кнопку руками и закрывать дизайнер
Записан

#define QUESTION(b) (2*b)||(!(2*b)) (c) William Shakespeare
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #8 : 28-08-2007 13:51 » 

1. Проверить свойства кнопок и формы типа Ancor

2. (что более вероятно) ДИзайнер использует для отображения реальные данные те класс, а точнее дефолтный конструктор. Если в нём задаётся расположение кнопок или стили например
this.Dock = DockStyle.Fill;

-----> сорри, времени в обрез, поэтому не успел докончить фразу. Хотя думаю идея ясна.

то тогда в дизайнере ты сразу видишь это смещение и пр.

Можно перегрузить конструктор. Вобще-то по ситуации.

зы Кстати неплохая иллюстрация к недавней (или уже давней? не помню) дискуссии по поводу использования Init-функции или только конструктора. Ага
« Последнее редактирование: 28-08-2007 15:14 от Джон » Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
USBLexus
Опытный

ru
Offline Offline
Пол: Мужской
Кот рыжий


« Ответ #9 : 30-08-2007 01:29 » 

Джон, не помнишь где лежит эта дискуссия? Хотелось бы почитать, не могу найти
Записан

#define QUESTION(b) (2*b)||(!(2*b)) (c) William Shakespeare
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #10 : 30-08-2007 09:11 » 

Честно - не помню. Даже не помню давно это было или нет. Жаль Там вроде бы спрашивали про передачу многих параметров в виде структуры.

зы USBLexus, чтобы мы правильно поняли. В той теме речь не шла о твоей проблеме. Кстати как у тебя с ней?
« Последнее редактирование: 30-08-2007 09:13 от Джон » Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
USBLexus
Опытный

ru
Offline Offline
Пол: Мужской
Кот рыжий


« Ответ #11 : 30-08-2007 11:55 » 

без изменений)
Записан

#define QUESTION(b) (2*b)||(!(2*b)) (c) William Shakespeare
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #12 : 30-08-2007 15:40 » 

А ты проверил п.2? Честно говоря он меня уже достаёт. Прям ничего в конструкторе уже и сделать нельзя.

Ну откуда я мог позавчера знать, что мне ещё один точно такой же диалог понадобится? Так мало того, я ещё кнопку переставить не могу. Он её заблокировал. А у неё якорь на правую сторону, хоть зараздвигайся - полкнопки показывает и всё тут. "Гацька така немецька, подлюка" (с)

зы Забыл сказать я на 2005 студии всё делаю, может в 2003/8 по-другому.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Mouse
Молодой специалист

ru
Offline Offline

« Ответ #13 : 31-08-2007 11:50 » new

Оказывается, такая дрянь не только у меня Улыбаюсь Год назад примерно имел интимные отношения с такой проблемой, но у меня было немного другое. Та же форма, только внизу не панель, а статус-бар, причем не стандартный, а производства Infragistics. Кнопки и тулбар - private. Кнопки точно так же уезжали в дальний угол. Сначала в дизайнере комментировали методы SuspendLayout() / ResumeLayout() формы - кое-как помогало. Когда совсем надоело, то засунул каждую кнопку на свою панель и поставил панели над статус-баром. В итоге заработало.
А в последнем проекте без задней мысли сделал обычную форму в панелью Dock.Bottom, и на ней две кнопки с Анкорами Left | Right. И работает Улыбаюсь

Вообще проблема для меня так и осталась не выясненной до конца. Может скинешь код класса формы? А лучше .cs файл Улыбаюсь Весь проект не нужен, с остальным сам разберусь Улыбаюсь
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines