Глюки дизайнера форм при создании своего контрола

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Angerslave
Начинающий
Начинающий
 
Сообщения: 19
Зарегистрирован: 02.10.2006 (Пн) 9:29
Откуда: Омск

Глюки дизайнера форм при создании своего контрола

Сообщение Angerslave » 28.10.2006 (Сб) 18:54

В общем мне стало нужно создать вертикальную label. Где-то отрыл код, видимо под VB.NET 2003:
Код: Выделить всё
    Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
        Dim sngControlWidth As Single
        Dim sngControlHeight As Single
        Dim sngTransformX As Single
        Dim sngTransformY As Single
        Dim labelColor As Color
        Dim labelBorderPen As New Pen(labelColor, 0)
        Dim labelBackColorBrush As New SolidBrush(labelColor)
        Dim labelForeColorBrush As New SolidBrush(MyBase.ForeColor)
        e = New System.Windows.Forms.PaintEventArgs(e.Graphics, e.ClipRectangle)
        sngControlWidth = Me.Size.Width
        sngControlHeight = Me.Size.Height
        e.Graphics.DrawRectangle(labelBorderPen, 0, 0, _
                   sngControlWidth, sngControlHeight)
        e.Graphics.FillRectangle(labelBackColorBrush, 0, _
                   0, sngControlWidth, sngControlHeight)
        ' set the translation point for the
        ' graphics object - the new (0,0) location
        sngTransformX = 0
        sngTransformY = sngControlHeight
        ' translate the origin used for rotation and drawing
        e.Graphics.TranslateTransform(sngTransformX, _
                            sngTransformY) ' (0, textwidth)
        'set the rotation angle for vertical text
        e.Graphics.RotateTransform(270)
        ' draw the text on the control
        e.Graphics.DrawString(labelText, Font, _
                   labelForeColorBrush, 0, 0)
    End Sub

Всё замечательно, только вот дизайнер форм перестаёт показывать вкладку(у меня прога на табах держится), на которой данная метка нанесена. Подскажите, что делать?

Shurrik
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 110
Зарегистрирован: 20.05.2004 (Чт) 5:35
Откуда: Керчь, Крым

Сообщение Shurrik » 29.10.2006 (Вс) 5:45

Вот здесь точно ошибка:
e = New System.Windows.Forms.PaintEventArgs(e.Graphics, e.ClipRectangle)
Колесо: Хочешь жить? Умей вертеться.

Angerslave
Начинающий
Начинающий
 
Сообщения: 19
Зарегистрирован: 02.10.2006 (Пн) 9:29
Откуда: Омск

Сообщение Angerslave » 31.10.2006 (Вт) 15:18

Ага, разобрался. Фишка в том, что при помещении контрола(не знаю почему, в чём дело: либо в табах, либо в tablelayoutpanel, либо ещё где), но при компиляции проекта таб, на котором мой контрол находится, просто заливается серым цветом и никак не хочет принимать естественное обличие. Помогает выгрузка проекта и загрузка по новой... Правда, только до первой компиляции :(


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 36

    TopList