С Новым годом! Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
1 / 1 / 1
Регистрация: 22.07.2014
Сообщений: 66
1

Если ли какая-нибудь форма или панель, которая будет плавно выкатываться из основной

13.11.2014, 20:54. Показов 3759. Ответов 21
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброе время суток.
Скажите, пожалуйста, если ли какая-нибудь форма или панель, которая будет плавно выкатываться из основной формы?

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

Заранее большое спасибо.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.11.2014, 20:54
Ответы с готовыми решениями:

Есть ли какая нибудь команда или программа, которая замедляет процесс в командной строке?
Есть ли какая нибудь команда или программа, которая замедляет процесс в командной строке? Например...

Добавить форму, которая запускается вперед основной(форма входа)
Здравствуйте. Есть проект, в которую нужно добавить форму входа, которая как понятная должна...

Кто нибудь знает какая частота шины/памяти будет на 9сериях GeForce?
Кто нибудь знает какая частота шины/памяти будет на 9сериях GeForce??Какой ценовой диапозон,и стоит...

Указать, какая форма проекта будет загружена первой
У меня в проекте есть 3 формы Одна с них должа "вызывать" осталтние Как сделасть чтоб ета...

21
1303 / 509 / 63
Регистрация: 09.08.2012
Сообщений: 2,056
13.11.2014, 21:04 2
Цитата Сообщение от loner63 Посмотреть сообщение
если ли какая-нибудь форма или панел
не слышал о такой. Самому писать
0
1 / 1 / 1
Регистрация: 22.07.2014
Сообщений: 66
14.11.2014, 00:03  [ТС] 3
Цитата Сообщение от emenem97 Посмотреть сообщение
не слышал о такой. Самому писать
Знал бы я как это делается))))
0
4684 / 3638 / 856
Регистрация: 02.02.2013
Сообщений: 3,496
Записей в блоге: 2
14.11.2014, 15:25 4
В любом случае придется писать код. Готовый Control не встречал.
Простейший вариант: при нажатии на кнопку справа открывается дополнительный блок формы, при повторном нажатии – блок убирается. При желании можно добавить чуточку анимации.
Миниатюры
Если ли какая-нибудь форма или панель, которая будет плавно выкатываться из основной  
1
147 / 135 / 34
Регистрация: 28.02.2014
Сообщений: 162
14.11.2014, 16:09 5
Можно сделать примерно так:
Кидаем на форму Panel1 и Panel2, у Panel1 выставляем Dosk = Left, у Panel2 выставляем Dosk = Fill. Размещаем на Panel1 Всё что нужно(я создал RichTextBox1 и TextBox1), ставим в опциях Panel1 "Size" первым значением "1" (второе задаётся автоматом)
Размещаем на Panel2 кнопку и ставим такой код:
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    Private w As Boolean = False
 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim i% = 0
        If Not w Then
            RichTextBox1.Visible = False
            TextBox1.Visible = False
            Do While i <> 280
                i += 1
                Panel1.Width += 1
                Me.Width += 1
            Loop
            TextBox1.Visible = True
            RichTextBox1.Visible = True
            w = True
        Else
            Panel1.Width = 1
            Me.Width -= 280
            w = False
        End If
    End Sub
0
1 / 1 / 1
Регистрация: 22.07.2014
Сообщений: 66
14.11.2014, 17:30  [ТС] 6
Цитата Сообщение от ovva Посмотреть сообщение
В любом случае придется писать код. Готовый Control не встречал.
Простейший вариант: при нажатии на кнопку справа открывается дополнительный блок формы, при повторном нажатии – блок убирается. При желании можно добавить чуточку анимации.
Вот это мне и нужно. Вы не могли бы объяснить как это сделать?

Добавлено через 15 минут
Цитата Сообщение от vova2112 Посмотреть сообщение
Можно сделать примерно так:
Кидаем на форму Panel1 и Panel2, у Panel1 выставляем Dosk = Left, у Panel2 выставляем Dosk = Fill. Размещаем на Panel1 Всё что нужно(я создал RichTextBox1 и TextBox1), ставим в опциях Panel1 "Size" первым значением "1" (второе задаётся автоматом)
Размещаем на Panel2 кнопку и ставим такой код:
Может я чего и не понел но сделал как описано в итоге да панель выдвигается но по чему то в центре формы. А нужно что бы панель выдвигалась влево
0
1 / 1 / 1
Регистрация: 22.07.2014
Сообщений: 66
14.11.2014, 18:26  [ТС] 7
Ребята помогите пожалуйста.

При загрузке формы должно быть так:
Если ли какая-нибудь форма или панель, которая будет плавно выкатываться из основной


При нажатии на кнопку (что находится с левой стороне формы) выкатывается панель с размещенными на ней заранее элементами:
(так же при повторном нажатии панель закрывалась получается все как на 1-ой картинке )
Если ли какая-нибудь форма или панель, которая будет плавно выкатываться из основной


При нажатии на кнопку (что находится в правой стороне формы) выкатывается панель с размещенными на ней заранее элементами:
(так же при повторном нажатии панель закрывалась получается все как на 1-ой картинке )
Если ли какая-нибудь форма или панель, которая будет плавно выкатываться из основной


Заранее большое спасибо)))
0
147 / 135 / 34
Регистрация: 28.02.2014
Сообщений: 162
14.11.2014, 19:37 8
Как вариант:
Всё как я писал прежде только теперь 3 панели, 2 по бокам(Panel1,Panel2), и одна по середине(Panel3) с Dosk = Fill
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
    Private w1 As Boolean = False
    Private w2 As Boolean = False
 
 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        If Not w1 Then
            Me.Left -= 280
            Panel1.Width = 280
            Me.Width += 280
            w1 = True
        Else
            Panel1.Width = 1
            Me.Width -= 280
            Me.Left += 280
            w1 = False
        End If
    End Sub
 
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        If Not w2 Then
            Panel2.Width = 280
            Me.Width += 280
            w2 = True
        Else
            Panel2.Width = 1
            Me.Width -= 280
            w2 = False
        End If
    End Sub
Button1 - левая кнопка, Button2 - правая
1
1 / 1 / 1
Регистрация: 22.07.2014
Сообщений: 66
14.11.2014, 19:59  [ТС] 9
Цитата Сообщение от vova2112 Посмотреть сообщение
Как вариант:
Всё как я писал прежде только теперь 3 панели, 2 по бокам(Panel1,Panel2), и одна по середине(Panel3) с Dosk = Fill
Я сделал все как вы сказали и получилось вот что
загрузка приложения
Если ли какая-нибудь форма или панель, которая будет плавно выкатываться из основной

после нажатия на левую кнопку (заметим что панель с лева не выкатилась но справа форма растянулась )
Если ли какая-нибудь форма или панель, которая будет плавно выкатываться из основной

еще раз нажал на левую кнопку потом сразу нажал на правую кнопку
Если ли какая-нибудь форма или панель, которая будет плавно выкатываться из основной
0
147 / 135 / 34
Регистрация: 28.02.2014
Сообщений: 162
14.11.2014, 20:14 10
Проверь всё ли у тебя верно - у Panel1 Dosk = Left, а у Panel2 Dosk = Right, на Panel3 2-е кнопки для развёртывания панелей. В событии для левой кнопки указываем Panel1, и Panel2 в событии правой.
0
1 / 1 / 1
Регистрация: 22.07.2014
Сообщений: 66
14.11.2014, 20:28  [ТС] 11
Цитата Сообщение от vova2112 Посмотреть сообщение
Проверь всё ли у тебя верно - у Panel1 Dosk = Left, а у Panel2 Dosk = Right, на Panel3 2-е кнопки для развёртывания панелей. В событии для левой кнопки указываем Panel1, и Panel2 в событии правой.
Да все правильно
код ваш :
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
Public Class Form1
    Private w1 As Boolean = False
    Private w2 As Boolean = False
 
    Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
        If Not w1 Then
            Me.Left -= 280
            Panel1.Width = 280
            Me.Width += 280
            w1 = True
        Else
            Panel1.Width = 1
            Me.Width -= 280
            Me.Left += 280
            w1 = False
        End If
    End Sub
    Private Sub Button2_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button2.Click
        If Not w2 Then
            Panel2.Width = 280
            Me.Width += 280
            w2 = True
        Else
            Panel2.Width = 1
            Me.Width -= 280
            w2 = False
        End If
    End Sub
End Class
А вы сами проверяли на своём ПК или вы просто машинально код написали?
0
147 / 135 / 34
Регистрация: 28.02.2014
Сообщений: 162
14.11.2014, 20:39 12
Ну вот проект:
Вложения
Тип файла: zip WindowsApplication2.zip (96.7 Кб, 62 просмотров)
0
1 / 1 / 1
Регистрация: 22.07.2014
Сообщений: 66
14.11.2014, 20:47  [ТС] 13
У меня получилось открыть программу только в exe файле и на самом деле у вас работает все.
но к сожалению открыть проект через vb не получается пишит что он был создан в более раней версии

Добавлено через 2 минуты
Очень стало интересно почему так получается??
Что у меня на столько руки растут не от того места что не могу скопировать код и вставить правильно ((((((
0
4684 / 3638 / 856
Регистрация: 02.02.2013
Сообщений: 3,496
Записей в блоге: 2
15.11.2014, 00:23 14
Еще один вариант кода. Идея та же. На мой взгляд, его проще обслуживать.
Форма: FormBorderStyle=FixedSingle
На форме размещаем FlowLayoutPanel (Dock=Fill) .
Добавляем три панели нужных размеров (R,C,L) и кнопки (R,L).
Как это выглядит на стадии разработки показано на рисунке.
Ну и код:
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
Private isOpenL, isOpenR As Boolean
Private WR, WL, WC As Integer
Private dd As Integer = 24
Private Sub Form5_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    Me.MaximizeBox = False
    Me.MinimizeBox = False
    WR = PanelR.Width
    WL = PanelL.Width
    WC = PanelC.Width
    PanelL.Width = 0
    PanelR.Width = 0
    Me.Width = WC + dd
    isOpenR = True
    isOpenL = True
End Sub
 
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles ButtonR.Click
    If isOpenR Then
        ButtonR.Text = "<"
        PanelR.Width = WR
    Else
        ButtonR.Text = ">"
        PanelR.Width = 0
    End If
    Me.Width = PanelL.Width + PanelR.Width + PanelC.Width + dd
    isOpenR = Not isOpenR
End Sub
 
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles ButtonL.Click
    If isOpenL Then
        ButtonL.Text = ">"
        PanelL.Width = WL
    Else
        ButtonL.Text = "<"
        PanelL.Width = 0
    End If
    Me.Width = PanelL.Width + PanelR.Width + PanelC.Width + dd
    isOpenL = Not isOpenL
End Sub
Миниатюры
Если ли какая-нибудь форма или панель, которая будет плавно выкатываться из основной  
0
1 / 1 / 1
Регистрация: 22.07.2014
Сообщений: 66
15.11.2014, 12:27  [ТС] 15
И вот что получилось:
Форма загрузки:
Если ли какая-нибудь форма или панель, которая будет плавно выкатываться из основной

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

Только ButtonL хорошо работает (не смотря что при загрузке формы ButtonL вообще не видно )
Если ли какая-нибудь форма или панель, которая будет плавно выкатываться из основной
0
4684 / 3638 / 856
Регистрация: 02.02.2013
Сообщений: 3,496
Записей в блоге: 2
15.11.2014, 12:52 16
Странно. Если можно выложите свой проект.
0
1 / 1 / 1
Регистрация: 22.07.2014
Сообщений: 66
15.11.2014, 15:08  [ТС] 17
Да можно))
WindowsApplication1.rar
0
4684 / 3638 / 856
Регистрация: 02.02.2013
Сообщений: 3,496
Записей в блоге: 2
15.11.2014, 15:30 18
На форме размещаем FlowLayoutPanel (Dock=Fill) .
Добавляем три панели нужных размеров (R,C,L) и кнопки (R,L).
Как это выглядит на стадии разработки показано на рисунке.
Поясняю: на форме одна FlowLayoutPanel и уже в ней размещаются три обычные панели.
1
4684 / 3638 / 856
Регистрация: 02.02.2013
Сообщений: 3,496
Записей в блоге: 2
15.11.2014, 15:42 19
Лучший ответ Сообщение было отмечено loner63 как решение

Решение

Прилагаю проект
Вложения
Тип файла: zip tst1.zip (65.4 Кб, 61 просмотров)
1
1 / 1 / 1
Регистрация: 22.07.2014
Сообщений: 66
15.11.2014, 15:50  [ТС] 20
ах вот оно что видно я как всегда не так понел вас)))
Спасибо большое за полное разъяснение)))
0
15.11.2014, 15:50
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.11.2014, 15:50
Помогаю со студенческими работами здесь

Есть какая-нибудь книжка по JavaScript-у, которая дает основы?
Всем привет, недавно захотел попробовать себя в фронтэнд-разработки (вообще, я только верстальщик...

Есть ли какая-нибудь команда, которая находит минимальное число в массиве?
А то очень сложно сравнивать 100 элементов в ручную Или команда, которая хотя бы просто...

Сообщать об ошибке, если какая-нибудь из директорий, в которые копируется файл, не существует
Есть батник, кодирующий файлы , как написать исключение в нём, чтоб он выдавал ошибки при попытки...

Нужна формула которая будет переносить данные с листа 2 на лист 1 по условию если в столбце КТУ будет больше 1.2
Доброго времени суток, Гуру Эксель!!!! помогите решить задачку. нужна формула которая будет...

Определить, какая площадь и квадратных метрах будет покрашена и какая будет побелена
Длина класса L метров, ширина - b метров, высота класса – h метров. В классе имеется дверь размером...

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
Что такое NullReferenceEx­­­ception и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее: На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru