Nano Hash - криптовалюты, майнинг, программирование

Могу ли я изменить свойства унаследованных элементов управления во время разработки?

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

Мой элемент управления объявлен как Public в базовом классе. Я могу получить к нему доступ в коде дочерней формы, но не в конструкторе форм. Разве это невозможно?



Ответы:


1

В Visual Studio есть ограничения для визуального наследования. К сожалению, производные формы \ usercontrols не могут изменять элементы управления, содержащие коллекции в базе, а именно DataGridViewRows, ToolStrips, ListViewColumns и т. Д.

Отчет об ошибках Microsoft

В определенных ситуациях есть способы обойти это. Создайте защищенное свойство в базовом классе, которое предоставляет точные свойства элемента управления, который вы хотите изменить (DataGridView.BackgroundColor или ListView.Columns).

Ваша базовая форма должна иметь доступ к этому свойству для изменения необходимых компонентов. Я сделал это для ListView.Columns и DataGridView.rows успешно, однако ToolStrip.Items не работал.

05.06.2009
  • У меня такая же ситуация, она работала для кнопки, но не для полоски инструментов. 28.07.2010
  • Я задавался вопросом, почему я не могу правильно выставить Toolstrip - Спасибо 26.03.2018

  • 2

    Кажется, это работает только для определенных элементов управления, но не для всех, и я не могу понять, почему. В моей базовой форме у меня есть TabControl, в котором есть ComboBox, ToolStrip и DataGridView. Все они имеют значение Public, но я могу изменять только свойства ComboBox, а не два других элемента управления.

    Понятия не имею, почему это так.

    23.03.2009
  • Дизайнеры ToolStrip и DGV просто не поддерживают это. 24.03.2009

  • 3

    Вам нужно изменить видимость вашего элемента управления. Разместите свойство элемента управления Modifiers в открытом доступе и перекомпилируйте проект, а затем вы можете изменить свойства унаследованного элемента управления.

    23.03.2009
  • Кажется, это работает только для определенных элементов управления, но не для всех, и я не могу понять, почему. В моей базовой форме у меня есть TabControl, в котором есть ComboBox, ToolStrip и DataGridView. Все они имеют значение Public, но я могу изменять только свойства ComboBox, а не два других элемента управления. 23.03.2009
  • Новые материалы

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

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

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..