2009-10-04 5 views
0

В настоящее время я пишу небольшую игру со стандартными элементами управления пользовательского интерфейса.Регистрация элементов пользовательского интерфейса в двигателе/​​контроллере

Он работает отлично, но мне не нравится, что я управляю элементами управления в файле codebehind. (C#)

Поскольку я пытаюсь разделить все элементы, я хотел бы иметь отдельный движок/контроллер, который обрабатывает все управление данными и логику для моего пользовательского интерфейса.

Есть ли возможность зарегистрировать элементы управления с двигателем, так что мне не нужно передавать их при каждом методе, который я называю?

В настоящее время я вынужден пройти указательные каждый раз, когда я вызываю функцию ..

Спасибо заранее!

ответ

0

Будет хорошо, если вы сможете подробнее рассказать о своей текущей реализации. Из того, что я могу понять, вместо того, чтобы пытаться выяснить, как «регистрировать элементы управления с помощью двигателя», почему бы не попытаться выяснить, является ли это проблемой дизайна.

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

+0

В моем обработчике событий button_click много логики. Я хочу изменить его, если выделенный класс обрабатывает всю эту логику, а также обновляет элементы формы. Я хотел бы зарегистрировать физический адрес (например, указатели C++) элементов управления в управляющем классе, чтобы мне не нужно было передавать элементы управления каждый раз, когда я вызываю методы. –

+0

Не уверен, что это сработает для вас, быстрый и грязный трюк заключается в создании общедоступной/внутренней статической переменной, которая используется для ссылки на элемент управления. В Button_Click назначьте элементы управления этой статической переменной (ей) и используйте ее в любом месте, где вам нужны новые коды, без необходимости передавать ссылку. Прежде чем выйти из метода Button_Click, отмените назначение ссылки. –

+0

Это может работать, но «развязка» проблем не достигается с этим. Цель позже - создать веб-службу вне класса. –

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