Как нарисовать размещенный NumericUpDown, используя существующий ToolStripRenderer? - PullRequest
2 голосов
/ 04 марта 2009

У меня есть элемент управления, который содержит NumericUpDown в ToolStripControlHost и предоставляет свойства NumericUpDown. С функциональной точки зрения это нормально, но когда он размещен на ToolStrip, он не подходит визуально к другим ToolStripItem с.

Я хотел бы использовать ToolStripRenderer, существующий *1009*, чтобы нарисовать элемент управления способом, аналогичным ToolStripComboBox, которые также находятся на элементе управления. Я не заинтересован в создании пользовательского ToolStripRenderer для этого, так как я хочу, чтобы другие, использующие этот элемент управления, могли использовать его с любым выбранным средством визуализации.

Я попытался переопределить OnPaint и OnPaintBackground в классе управления хостингом и в размещенном классе управления, используя методы рисования рендерера, но все, чего я могу добиться - это иметь неокрашенную область по краям; кнопки прокрутки по-прежнему отображаются в системной теме.

Как нарисовать размещенный NumericUpDown, используя существующий ToolStripRenderer?

1 Ответ

0 голосов
/ 04 марта 2009

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

Выполнение всего рисунка самостоятельно намного сложнее, чем кажется. Извините, я не могу предложить простое решение, но я не думаю, что есть простое решение.

...