CommentFree Ответов: 1

Как правильно наследовать элемент управления диаграммой


Так я могу сделать это в Visual Studio и с++ .net или C#, но вот вопрос: как наследовать формы DataVisualization управления Chart и настроить его с различными вещами, которые затем могут быть добавлены в toobox, чтобы затем использоваться для других против c++ .объем форм и проектов c#?

Я имею в виду, что я уже сделал это, но я никогда не получаю ничего стабильного. Когда я добавляю его в другие проекты, я либо получаю ошибки о уже существующих ChartArea, Title и Series, либо toolbox не принимает новый элемент управления, потому что он говорит, что он несовместим с текущим (что означает любой) проект и т. д.

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

Просто всегда возникают проблемы, когда, скажем, пытаются добавить элемент управления в проект x64, когда он был построен в x86, и наоборот, а иногда даже версия x86 говорит, что она несовместима с другими проектами x86 и т. д. Это просто так непредсказуемо.

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

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

Обычно я пишу это в VS c++, но я также прекрасно могу делать c#.

Что я уже пробовал:

Пробовали наследование в c#, VS c++ и т. д. Никогда не берите ничего, что плавно переходит в другие проекты из набора инструментов.

1 Ответов

Рейтинг:
0

Gerry Schmitz

Вы не "должным образом наследуете" ... это оксюморон.

Создайте элемент управления" контейнер " (для диаграммы), который "делает то, что ему (обычно) нужно делать".

Добавьте "контейнер" (пользовательский элемент управления; пользовательский элемент управления), в котором размещена диаграмма, в ваш проект(ы).