При запуске проекта теряется свойство user-контрола, установленное в дизайнере - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Вот код контрола:
Листинг программы
  1. Partial Public Class Canvas
  2. Inherits UserControl
  3. #Region "Переменные"
  4. Private m_BitmapImage As Bitmap
  5. Private m_BackColor As Color
  6. #End Region
  7. #Region "Свойства"
  8. Public Property BitmapImage() As Bitmap
  9. Get
  10. Return m_BitmapImage
  11. End Get
  12. Set(ByVal value As Bitmap)
  13. m_BitmapImage = value
  14. End Set
  15. End Property
  16. Public Overrides Property BackColor() As Color
  17. Get
  18. Return m_BackColor
  19. End Get
  20. Set(ByVal value As Color)
  21. m_BackColor = value
  22. Me.Invalidate()
  23. End Set
  24. End Property
  25. #End Region
  26. #Region "Конструктор"
  27. Public Sub New()
  28. InitializeComponent()
  29. BitmapImage = New Bitmap(Me.Width, Me.Height)
  30. End Sub
  31. #End Region
  32. Private Sub PaintCanvas_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
  33. Clear()
  34. End Sub
  35. Public Sub Clear()
  36. Dim br As New SolidBrush(Me.BackColor)
  37. Using g As Graphics = Graphics.FromImage(BitmapImage)
  38. g.FillRectangle(br, New Rectangle(Me.Location, Me.Size))
  39. End Using
  40. Me.Invalidate()
  41. End Sub
  42. Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
  43. MyBase.OnPaint(e)
  44. e.Graphics.DrawImage(Me.BitmapImage, 0, 0)
  45. End Sub
  46. Public Sub Line(ByVal aPen As Pen, ByVal x1 As Single, ByVal y1 As Single, ByVal x2 As Single, ByVal y2 As Single)
  47. Using g As Graphics = Graphics.FromImage(BitmapImage)
  48. g.DrawLine(aPen, x1, y1, x2, y2)
  49. Me.Invalidate()
  50. End Using
  51. End Sub
  52. End Class
вот код тестовой формы:
Листинг программы
  1. Public Class Form1
  2. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  3. Dim pen As New Pen(Color.Red, 10)
  4. Canvas1.Line(pen, 20, 30, 250, 400)
  5. End Sub
  6. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
  7. Canvas1.Clear()
  8. End Sub
  9. Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
  10. Canvas1.BackColor = Color.Green
  11. End Sub
  12. End Class
В дизайнере устанавливаю цвет фона контрола ( BackColor) , всё ОК. Запускаю проект с контролом - цвет куда то исчезает.

Решение задачи: «При запуске проекта теряется свойство user-контрола, установленное в дизайнере»

textual
Листинг программы
  1.     <System.ComponentModel.Browsable(True)> _
  2.     <System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Visible)>

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы