Не уверен в дизайне класса - PullRequest
0 голосов
/ 07 апреля 2011

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

Весь этот код был сброшен в основной форме.

Я пытался быть умным alec и использовать наследование, так что теперь у меня есть основная форма, в которой есть объект графа, и у меня есть граф суперкласса -> иерархия специфичных для подкласса графа

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

Я надеюсь, что кто-то может помочь

спасибо

edit: я думаю, что я мог бы просто передать коллекцию элементов управления для панели в мой класс графика, чтобы я мог добавить соответствующие элементы туда

Ответы [ 2 ]

0 голосов
/ 07 апреля 2011

В зависимости от отношения между двумя формами, вы можете использовать события для сообщения данных между ними.

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

[Редактировать]

Я читаю формы вместо панелей.

Основная идея остается неизменной.Судя по вашему стилю письма, похоже, у вас есть история Objective C.Я знаю, что на Mac эти вещи будут выполняться в Интерфейсном Разработчике, устанавливая привязки, чтобы эти вещи происходили, но в .NET Winforms вы делаете это в коде (обработка событий, вызов методов и т. Д.).Если вы хотите больше придерживаться того, как это делается с помощью Interface Builder, вы можете взглянуть на приложения WPF;привязки работают очень похоже на то, как это делается на Mac.

0 голосов
/ 07 апреля 2011

Я бы разработал это как объект, который объединяет другой объект.Посмотрите, как работает представление master-detail.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...