2010-06-30 4 views
1

Это немного неловко, но я не уверен в стандартном способе разработки приложения Windows Mobile Winforms. Большая часть моего опыта в Asp.NET. В частности, каков обычный способ навигации между экранами? Я предполагаю, что одним из способов было бы иметь один «главный» экран и открывать любые другие формы в виде модальных диалогов. Другой способ - создать экземпляр новой формы и вызвать .Show(), затем вызвать .Hide() в родительской форме. Я не могу найти пример наилучшего подхода. Приложение будет иметь множество форм и на самом деле не имеет единой «основной» формы. Любые советы, указывающие на меня в правильном направлении, будут оценены. В идеале мне бы хотелось добавить сложный пример приложения Windows Mobile C# Winforms с довольно большим количеством форм. Все примеры, похоже, имеют только одну или две формы.Перемещение из одной формы в другую

Приветствия Все

ответ

0

Я не уверен, что вы найдете образец с большим количеством Форм. Больше форм означает большую сложность, и образец по своей природе пытается быть простым. Это не означает, что вы не можете распространять идеи в образце, чтобы охватить сложные случаи.

Для пользовательского интерфейса я лично хотел бы использовать dependency injection and inversion of control container для хранения всех экземпляров моего класса и использовать шаблон MVC/MVP для разделения презентации из логики. В этот момент, показывающий разные формы (который является «V» в MVC), действительно зависит от того, как вам нужно представлять данные. Иногда данные имеют смысл в виде вкладок в форме (возможно, это может быть диалог настроек), иногда модальные диалоги имеют смысл (хотя и не очень часто), иногда имеет смысл Form stack. Обычно у вас есть гибрид, который использует немного из них.

+0

Hi ctacke Я думаю, что я должен отправить вам 10% от моей зарплаты! Большое спасибо за дальнейшую помощь. Я немного из глубины. Я проверил вашу инфраструктуру инъекций зависимостей. Ваша документация достаточно ясна, и у меня есть некоторое понимание этого, но я думаю, что это слишком сложно для меня на этом этапе. Сначала я делаю прототип, поэтому я буду путаться с одной «основной» формой, содержащей ссылки на любые другие формы, которые были установлены. Без сомнения, я вернусь к этому вопросу, когда узнаю больше и пойму ограничения этого подхода. Еще раз спасибо. Cheers Mark –

1

приложение будет иметь много форм

Не загружайте целые формы в одно время, чтобы избежать перегрузки памяти, которая может сделать вашу заявку и/или телефон медленнее.

Используйте Mainform (возможно, невидимый?) И покажите другие формы над этим.

+0

Я забыл, загрузите другие формы при использовании и выгрузите их, когда закончите ... –

+0

Спасибо за предложение cevik. Я думаю, что подход ctacke, вероятно, правильный, но для меня это слишком сложно, поэтому я, вероятно, буду следовать вашему предложению, пока не узнаю больше. Cheers Mark –

Смежные вопросы