Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
54 / 30 / 4
Регистрация: 15.01.2014
Сообщений: 349
1

Программно задать ширину и высоту графическому объекту

03.11.2015, 20:31. Показов 722. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите как программно задавать ширину и высоту графическом объекту ? На форме есть еще графические объекты кроме этого. нужно изменять размеры конкретно этого объекта.

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
Imports System.Drawing.Drawing2D
Public Class Form1
   
    Private _Value As Long = 0
    Public Property Value() As Long
        Get
            Return _Value
        End Get
        Set(ByVal v As Long)
            If v > _Maximum Then v = _Maximum
            _Value = v : Invalidate()
        End Set
    End Property
    Private _Maximum As Long = 100
    Public Property Maximum() As Long
        Get
            Return _Maximum
        End Get
        Set(ByVal v As Long)
            If v < 1 Then v = 1
            _Maximum = v : Invalidate()
        End Set
    End Property
 
    Private _Thickness As Integer = 20
    Public Property Thickness() As Integer
        Get
            Return _Thickness
        End Get
        Set(ByVal v As Integer)
            _Thickness = v : Invalidate()
        End Set
    End Property
    'Ручка PaintBackground для предотвращения мерцания----------
    Protected Overrides Sub OnPaintBackground(ByVal p As PaintEventArgs)
    End Sub
    Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
        MyBase.OnPaint(e)
        Using B As New Bitmap(Width, Height)
            Using G As Graphics = Graphics.FromImage(B)
                G.SmoothingMode = SmoothingMode.HighQuality
                'Заполнить цветом фона-----------
                G.Clear(BackColor)
                'цвет кольца------------------ 
                Using T As New LinearGradientBrush(ClientRectangle, Color.Violet, Color.White, LinearGradientMode.Vertical)
                    Using P As New Pen(T, Thickness)
                        G.DrawArc(P, CInt(Thickness / 2), CInt(Thickness / 2), Width - Thickness - 1, Height - Thickness - 1, 0, 360)
                    End Using
                End Using
                'цвет бегунка----------------------------------------------------
                Using T As New LinearGradientBrush(ClientRectangle, Color.White, Color.Gray, LinearGradientMode.Vertical)
                    Using P As New Pen(T, Thickness)
                        P.StartCap = LineCap.Round : P.EndCap = LineCap.Round
                        G.DrawArc(P, CInt(Thickness / 2), CInt(Thickness / 2), Width - Thickness - 1, Height - Thickness - 1, 90, CInt((360 / _Maximum) * _Value))
                    End Using
                End Using
                'Здесь можно поменять цвет центра------------------------------------------
                Using T As New LinearGradientBrush(ClientRectangle, Color.Transparent, Color.Transparent, LinearGradientMode.Vertical)
                    G.FillEllipse(T, Thickness, Thickness, Width - Thickness * 2 - 1, Height - Thickness * 2 - 1)
                End Using
                'Нарисовать строку прогресса-----------
                Dim S As SizeF = G.MeasureString(CStr(CInt((100 / _Maximum) * _Value)), Font)
                G.DrawString(CStr(CInt((100 / _Maximum) * _Value)), Font, Brushes.White, CInt(Width / 1 - S.Width / 1), CInt(Height / 1 - S.Height / 1))
                'наружная граница-----------------------
                G.DrawEllipse(Pens.Black, 0, 0, Width - 1, Height - 1)
                'внутренние границы--------------------
                G.DrawEllipse(Pens.Black, Thickness, Thickness, Width - Thickness * 2 - 1, Height - Thickness * 2 - 1)
                'Выход буферизованные изображения--------------------------
                e.Graphics.DrawImage(B, 0, 0)
            End Using
        End Using
    End Sub
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Value += 10
    End Sub
End Class
Миниатюры
Программно задать ширину и высоту графическому объекту  
Вложения
Тип файла: rar WindowsApplication1.rar (64.4 Кб, 4 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.11.2015, 20:31
Ответы с готовыми решениями:

Задать ширину и высоту окна (стороннего приложения)
Из своего приложения запускаю командой Radmin. Для удобства, сразу растягиваю картинку во весь...

Как программно поменять размер (ширину/высоту) компонента
Не давно начал изучать си шарп, возникло несколько вопросов 1. Как программно поменять размер...

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

Задать программно ширину столбцов DataGridView
Загружаю данные в DataGridView из Excel. Первые столбцы 0-2 всегда присутствуют им задаю в...

2
54 / 30 / 4
Регистрация: 15.01.2014
Сообщений: 349
03.11.2015, 20:34  [ТС] 2
что то типа этого Size(150, 150)
0
207 / 224 / 87
Регистрация: 21.04.2013
Сообщений: 404
04.11.2015, 03:45 3
Цитата Сообщение от MACHOMAN Посмотреть сообщение
программно задавать ширину и высоту графическом объекту
MACHOMAN, в моем понимании у Вас не объект, а рисунок на форме. Его размеры зависят от ClientRectangle, Width и Height формы.
Советую создать свой UserControl и поместить код прорисовки и свойств туда.
1
04.11.2015, 03:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.11.2015, 03:45
Помогаю со студенческими работами здесь

Программно задать ширину колонок DataGridView
Всем привет! Подскажите как программно задать ширину колонок DataGridView?

Как программно задать ширину столбца в Excel?
Как программно задать ширину столбца в Excel?

Как программно задать объекту событие IsVisibleChanged? (Использование TreeList - это ListView с деревом)
Я программно наполняю окошко элементами через FrameworkeElementFactory. У объекта TextBox в...

Как присвоить объекту высоту полученную из sprite.rect.height
Всем здравия получаю спрайты и присваиваю объекту с RectTransform ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru