Я пытаюсь нарисовать круг с использованием Windows Form во время выполнения внутри элемента управления меткой. Я пытаюсь отобразить зеленый или красный круг и отображать текст («L1» или «L2») поверх него. Не могли бы вы помочь.Рисовать круг внутри метки
ответ
Прежде всего, необходимо SetStyle в конструкторе, так что вы можете контролировать краску
this.SetStyle(
ControlStyles.UserPaint
| ControlStyles.AllPaintingInWmPaint
| ControlStyles.SupportsTransparentBackColor
, true);
Тогда вы ответственны за покраску всей этикетки, включая фон и текст. Override OnPaint
protected override void OnPaint(PaintEventArgs e) {
Graphics g = e.Graphics;
Brush b = new SolidBrush(this.ForeColor);
SizeF sf = g.MeasureString(this.Text, this.Font);
Padding p = Padding.Add(this.Padding, this.Margin);
// do not forget to include the offset for you circle and text in the x, y position
float x = p.Left;
float y = p.Top;
g.DrawString( this.Text, this.Font, b, x, y);
}
После того, как вы должны сделать текст метки, а затем использовать g.DrawEllipse нарисовать круг, который вы хотите и где вы хотите. Затем используйте g.DrawString для размещения над ним текста.
Имейте в виду, что если вы должны предоставить все, немного краски, которые вы установили свойства, так что это могут быть использованы только для этикеток, которые соответствуют стандарту, которые вы собираетесь установить
Если у вас есть ресурс Image, вы можете установить свойство Image на ярлыке, а затем установить свойства выравнивания текста и выравнивания изображения, чтобы они упали туда, где вы хотите.
спасибо. У меня нет изображения ресурса. Возможно ли использование объекта Graphics? – nav100
Полностью согласен с Ником. Имейте 4 изображения с различной комбинацией и динамически показывайте их.
Надеюсь, это поможет.
Спасибо, Раджа
Чтобы сделать это программно вы можете использовать метод Label CreateGraphics
, чтобы получить Graphics
. Затем вы можете использовать методы DrawElipse
и DrawString
для создания нужного изображения.
- 1. C# рисовать круг вокруг метки
- 2. Рисовать круг внутри растрового изображения другим способом
- 3. Как называть «рисовать круг» из метода рисовать внутри рамки изображения
- 4. Рисовать круг в макете
- 5. Рисовать круг вокруг изображения.
- 6. Python Tkinter: рисовать стрелки внутри метки
- 7. рисовать градиент круг с тенью
- 8. Рисовать круг в центре холста
- 9. Рисовать интерактивный круг на холсте
- 10. как рисовать вложенный круг программно
- 11. JavaScript - рисовать круг на холсте
- 12. Как рисовать круг на холсте?
- 13. Рисовать круг с php imagemagick
- 14. StrokeEnd не рисовать полный круг
- 15. Рисовать круг программно в android
- 16. Только рисовать круг, а не эллипс
- 17. Tkinter: рисовать круг на холсте без create_oval
- 18. Java - рисовать круг после нажатия кнопки
- 19. Рисовать круг и отрезки от круга
- 20. Лучший способ рисовать круг поверх UIImageView IOS
- 21. Рисовать круг на холсте, имитируя анимацию андроида
- 22. Как бесплатно рисовать круг с помощью Fabric.js?
- 23. рисовать прозрачный круг на заполненном андроида холст
- 24. Как рисовать круг с помощью PlayN?
- 25. Как рисовать заполненный круг с помощью SpriteKit?
- 26. Как рисовать круг в iOS Swift?
- 27. Core Graphics: рисовать круг с неразрешимыми сегментами
- 28. Рисовать круг, который заполняется горизонтально в Android
- 29. рисовать круг на контакт с собственным классом
- 30. Как рисовать заполненный круг с помощью andengine?
Спасибо. Что такое «TextAlign»? – nav100
TextAlign - это ContentAlignment строки. Он сообщает вам, что строка строки внутри меток ограничена – JDMX
Спасибо за помощь. Я ценю. Я добавил элемент управления ярлыком в форму и переопределит onpaint. Я получаю xAlign и TextAlign не существует в текущем контексте сообщения. Что мне здесь не хватает? – nav100