Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/34: Рейтинг темы: голосов - 34, средняя оценка - 4.85
 Аватар для SergKr
67 / 41 / 3
Регистрация: 07.12.2010
Сообщений: 328

Изменение размера контрола вместе с формой

27.02.2012, 22:08. Показов 6237. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Знаю, что где-то было, но не нашёл. Есть на форме WebBrowser. Так вот хочу изменять его размер вместе с формой. Как где прописать? Подскажите один разок, а я уж для остальных элементов сам допру.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.02.2012, 22:08
Ответы с готовыми решениями:

Изменение размера формы и области вместе с ней.
Подскажите в чём может быть проблема. У меня есть форма на которой расположена область класса Panel. Вэтой области у меня нарисована...

Изменение размера элементов вместе с формой (Anchor, Dock)
Привет, я хотел бы чтобы размер элементов на форме пропорционально менялся вместе с формой. Но... Я поместил на форму два текстбокса и...

Изменение текста в ToolTip вместе с текстом контрола
Когда мышь задерживается на лейбле, показывается tooltip. Подсказка в tooltip - текст из самого лейбла. Но текст в лейбле все время...

7
Почетный модератор
 Аватар для Памирыч
23248 / 9160 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
27.02.2012, 22:16
SergKr, свойство Anchor, если правильно написал
0
 Аватар для SergKr
67 / 41 / 3
Регистрация: 07.12.2010
Сообщений: 328
27.02.2012, 22:33  [ТС]
Да вот с ним-то я и не могу разобраться. Куда его вписывать? Какое свойство ему присваивать? Дайте небольшой примерчик...

Добавлено через 3 минуты
Поставил
VB.NET
1
WebBrowser1.Anchor = AnchorStyles.Right Or AnchorStyles.Left
получается только для права и лева. а вот верх и низ как сделать?

Добавлено через 5 минут
И получается всё-равно что-то не то. Разобрался с верхом-низом, НО ставлю на форму Label, TextBox, Button, WebBowser. Изменяет не правильно. Т.е. при уменьшении формы кнопка вообще пропадает, а при увеличении формы Броузер залазиет на кнопку.

Добавлено через 2 минуты
Всё! Разобрался, правда не совсем пока догнал, почему если у кнопки убрать Top и Left, то всё заработало:
VB.NET
1
2
3
4
WebBrowser1.Anchor = AnchorStyles.Right Or AnchorStyles.Left Or AnchorStyles.Bottom Or AnchorStyles.Top
        Label1.Anchor = AnchorStyles.Right Or AnchorStyles.Left Or AnchorStyles.Bottom Or AnchorStyles.Top
        TextBox1.Anchor = AnchorStyles.Right Or AnchorStyles.Left Or AnchorStyles.Bottom Or AnchorStyles.Top
        Button1.Anchor = AnchorStyles.Left Or AnchorStyles.Bottom 'Or AnchorStyles.Top
Добавлено через 3 минуты
Есть ещё такой вопрос! А где храниться то- что выкачал WebBrowser? Т.е. куки.
1
 Аватар для edward_freedom
1569 / 1448 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
27.02.2012, 22:44
SergKr, так ниче не залазит

VB.NET
1
2
Button1.Anchor = AnchorStyles.Bottom And AnchorStyles.Left And AnchorStyles.Right And AnchorStyles.Top
        WebBrowser1.Anchor = AnchorStyles.Bottom And AnchorStyles.Left And AnchorStyles.Right And AnchorStyles.Top
0
 Аватар для SergKr
67 / 41 / 3
Регистрация: 07.12.2010
Сообщений: 328
28.02.2012, 06:35  [ТС]
edward_freedom, Не залазиет, но и не изменяет размеры вместе с формой. Если сделать как я сделал, тогда и не залазиет и кнопка вместе с webbrowser'ом меняют размер. Только вот возник такой вопрос:
А как теперь менять размер у label и textbox? У меня они просто на месте остаются. TextBox меняет размер горизонтально. Там может быть при изменении размера формы нужно что-то с размером шрифта делать?
0
0 / 0 / 0
Регистрация: 20.02.2014
Сообщений: 1
20.02.2014, 16:29
В общем модуле
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
78
79
80
81
82
83
84
85
86
87
88
89
    Structure ctrFormControlSize
        Public Name As String
        Public Height As Double
        Public Width As Double
        Public Top As Double
        Public Left As Double
    End Structure
 
    Public Structure AddFromProperty
        Public FormName As String
        Public MyctrFormControlSize() As ctrFormControlSize
    End Structure
    Public MyAddFromProperty() As AddFromProperty
    Public Sub MyAddControl(ByVal c As Windows.Forms.Control, Optional ByRef MytmpConrtol() As ctrFormControlSize = Nothing)
 
        Dim tmpConrtolSize As ctrFormControlSize, i As Integer
        Dim addToColl As Boolean = False
        Dim x As Integer
        If IsNothing(MytmpConrtol) Then
 
            If IsNothing(MyAddFromProperty) Then
                x = 0
            Else
                x = MyAddFromProperty.Length
            End If
            ReDim Preserve MyAddFromProperty(x)
            MyAddFromProperty(x).FormName = c.Name
            MytmpConrtol = MyAddFromProperty(x).MyctrFormControlSize
            addToColl = True
            ReDim Preserve MytmpConrtol(0)
            If Not String.IsNullOrEmpty(c.Name) Then
                tmpConrtolSize.Name = c.Name
                tmpConrtolSize.Width = c.ClientSize.Width
                tmpConrtolSize.Height = c.ClientSize.Height
                MytmpConrtol.SetValue(tmpConrtolSize, 0)
            End If
        Else
            i = MytmpConrtol.Length
            ReDim Preserve MytmpConrtol(i)
            If Not String.IsNullOrEmpty(c.Name) Then
                tmpConrtolSize.Name = c.Name
                tmpConrtolSize.Width = MytmpConrtol(0).Width / c.Width
                tmpConrtolSize.Height = MytmpConrtol(0).Height / c.Height
                tmpConrtolSize.Left = MytmpConrtol(0).Width / c.Left
                tmpConrtolSize.Top = MytmpConrtol(0).Height / c.Top
                MytmpConrtol.SetValue(tmpConrtolSize, i)
            End If
        End If
        If c.Controls.Count <> 0 Then
            For Each c1 As System.Windows.Forms.Control In c.Controls
                MyAddControl(c1, MytmpConrtol)
            Next
        End If
        If addToColl Then
            MyAddFromProperty(x).MyctrFormControlSize = MytmpConrtol
        End If
    End Sub
    Sub MyResize(MyForm As Form)
        Dim FormControl As Control, i As Integer, x As Integer
        Dim tmpColConrtol As Control(), tmpSizeControl As ctrFormControlSize
        Dim FormWidth As Integer = MyForm.ClientSize.Width
        Dim FormHeight As Integer = MyForm.ClientSize.Height
        Dim MytmpConrtol() As ctrFormControlSize
        If Not IsNothing(MyAddFromProperty) Then
            x = GetFormID(MyForm)
            If x <> -1 Then
                MytmpConrtol = MyAddFromProperty(x).MyctrFormControlSize
                For i = 1 To MytmpConrtol.Length - 1
                    tmpColConrtol = MyForm.Controls.Find(MytmpConrtol(i).Name, True)
                    FormControl = tmpColConrtol(0)
                    tmpSizeControl = MytmpConrtol(i)
                    FormControl.SetBounds(FormWidth / tmpSizeControl.Left, FormHeight / tmpSizeControl.Top, FormWidth / tmpSizeControl.Width, FormHeight / tmpSizeControl.Height)
                Next i
            End If
        End If
    End Sub
    Private Function GetFormID(MyForm As Form) As Integer
        GetFormID = -1
        Dim i As Integer = 0
        Dim tmpFrmName As String = MyForm.Name
        If Not IsNothing(MyAddFromProperty) Then
            For i = 0 To MyAddFromProperty.Length - 1
                If MyAddFromProperty(i).FormName = tmpFrmName Then
                    GetFormID = i
                    Exit Function
                End If
            Next i
        End If
    End Function
В обработчике Form_load
VB.NET
1
2
        me.AutoSize = False
        MyAddControl(me)
В обработчике Form__Resize
VB.NET
1
 MyResize(Me)
0
58 / 1 / 1
Регистрация: 12.01.2015
Сообщений: 10
12.01.2017, 20:43
с кодом не разобрался, вижу, что хороший, но в строке
VB.NET
1
tmpColConrtol = MyForm.Controls.Find(MytmpConrtol(i).Name, True)
выдаёт ошибку ((. Поэтому взял код отсюда , вставил, работает https://www.codeproject.com/ti... bcontrols/
0
 Аватар для Vladislav Grom
9 / 8 / 2
Регистрация: 01.11.2013
Сообщений: 111
18.01.2017, 20:45
Встав те его в LayotPanel
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.01.2017, 20:45
Помогаю со студенческими работами здесь

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

Изменение размера пользовательского контрола
Есть пользовательский контрол NumberDecimalBox, состоящий из TextBox с фильтрацией разрешенных к вводу символов. namespace...

Изменение размера контрола RunTime
Как измениеть размера контрола в запущенном приложении (мышкой)

Изменение размера контрола на вкладках Tabcontrol ?
Есть Tabcontrol с двумя вкладками.На второй вкладке имеется pictureBox.В нем рисую окружность по центру.Чтобы при изменении размеров формы...

Перемещение и изменение размера контрола RunTime
Добрый день. Я хочу сделать для пользователя возможность перемещать контрол по форме и изменять размер контрола во время выполнения...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru