none
панели в проектах RRS feed

  • Вопрос

  • подскажите, как поступить лучше:

    1. загрузить все панели инструментов в момент создания приложения и по мере работы пользователя в приложении показывать требуемые ему панели

    2. загрузить пустое приложение и когда необходимо пользователю, создавать требуемые панели инструментов

    при реализации второго варианта возникает вопрос, как корректно проверить наличие этой панели в приложении?

Ответы

  • Вы пытаетесь использовать элемент управления WPF в проекте WinForms. Конечно есть способы так сделать но у вас не тот случай что бы к таким способам прибегать. Тут либо писать проект на WPF либо использовать элементы из WinForms.

    Женат на WPF. Тайно встречаюсь с WinRT. Не сложилось с C#!

    • Помечено в качестве ответа MAsp1 11 мая 2012 г. 6:26
  • Спасибо, стало понятнее!

    Тогда что выгоднее если далее разрабатывать коммерческое приложение, начать познавать WPF  и разработать приложение с нуля, либо реализовать в проекте WinForms пользовательский элемент управления в котором у края предусмотреть область для отслеживания мыши с нажатием клавиши и изменением размера при движении мыши с зажатой клавишей? (не изобретаю ли я по новой велосипед, отказываясь от WPF?)

    • Помечено в качестве ответа MAsp1 11 мая 2012 г. 6:26

Все ответы

  • Мне нравиться вариант 2.

    Для контроля заведите себе List от базового класса панели. И ссылки на все создаваемые панели храните в нем, если пользователь убирает панель с формы, то в списке она все равно будет оставаться. При попытке пользователя затребовтаь новую панель инструментов, вы проверяете есть ли она в списке. Если есть, то проверяете статус (показана или нет). Если показана, то ничего не делаете. Если не показана, то показываете, просто подсунув готовый контрол в нужное место. Если в списке нужной панели нет, то создаете ее и добавив в список показываете пользователю. Как то вот так.

    Отвечающий
  • Спасибо, идея ясна и понятна!!!)))

    Тогда вопрос в развитие темы:

    Как в приложении реализовать панели, размеры которых пользователь мог изменять, потянув за край панели мышкой?

    В библиотеке классов нашел подходящий элемент DockPanel, при попытке добавить его в коллекцию form.controls возникает следующая ошибка: DockPanel в пространстве имен sys.wind.controls (сборка PresentationFramework), а для метода form.controls.add допустимый тип аргумента должен быть из пространства sys.wind.forms!!! как быть еще не знаю! ищу совета!

  • Вы пытаетесь использовать элемент управления WPF в проекте WinForms. Конечно есть способы так сделать но у вас не тот случай что бы к таким способам прибегать. Тут либо писать проект на WPF либо использовать элементы из WinForms.

    Женат на WPF. Тайно встречаюсь с WinRT. Не сложилось с C#!

    • Помечено в качестве ответа MAsp1 11 мая 2012 г. 6:26
  • Спасибо, стало понятнее!

    Тогда что выгоднее если далее разрабатывать коммерческое приложение, начать познавать WPF  и разработать приложение с нуля, либо реализовать в проекте WinForms пользовательский элемент управления в котором у края предусмотреть область для отслеживания мыши с нажатием клавиши и изменением размера при движении мыши с зажатой клавишей? (не изобретаю ли я по новой велосипед, отказываясь от WPF?)

    • Помечено в качестве ответа MAsp1 11 мая 2012 г. 6:26
  • У нас по этому вопросу целая дискуссия развязалась. Изучайте, делайте выбор.

    В целом же все (даже сторонники WinForms) сходятся во мнении что для новых проектов лучше использовать WPF, но вы все же прочтите дискусс и решите сами (что бы никто не решил что я навязываю).

    Да и еще для полноты информации посмотрите вот это видео.


    Женат на WPF. Тайно встречаюсь с WinRT. Не сложилось с C#!

    • Изменено LXGDARK 11 мая 2012 г. 5:21