Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.88/26: Рейтинг темы: голосов - 26, средняя оценка - 4.88
10 / 10 / 2
Регистрация: 12.05.2014
Сообщений: 229
1

Как создать не стандартный оконный интерфейс программы (боковое меню)

03.04.2015, 09:24. Показов 5037. Ответов 49
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем Доброго Дня!

Подскажите пожалуйста, как создать не стандартное окно в программе, а что то подобное:
окно состоит из 2 областей: левая часть кнопки меню, а правая- собственно формы программы.
Такой интерфейс часто используется в ВЕБ-технологиях ( и вроде там такие области называются фреймы).
Миниатюры
Как создать не стандартный оконный интерфейс программы (боковое меню)  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.04.2015, 09:24
Ответы с готовыми решениями:

Создать оконный интерфейс для программы, которая ищет файлы в два потока
Имеется функция поиска файла по маске и два потока.15. Вторичный поток ищет файлы в заданном...

Как создать боковое меню не используя таблицы и фреймы
Всем привет! Подскажите, плиз, как сделать боковое меню (правое или левое) без использования...

Как изменить стандартный оконный заголовок
можно ли программно изменить или передвинуть "красный крестик" на форме или увеличить толощину...

Оконный интерфейс для программы решения СЛАУ методом Гаусса
Добрый день! Мне надо сделать оконный интерфейс для решения слау методом гаусса! Помогите или...

49
Почетный модератор
21413 / 9147 / 1083
Регистрация: 11.04.2010
Сообщений: 11,014
03.04.2015, 09:27 2
Vlad11, пока навскидку: в правой части будет табконтрол со скрытыми вкладками и возможно спрятанным бордюром.
Слева - чекбоксы. Да-да, чекбоксы бывают и в виде кнопок, плюс могут содержать картинки.
1
10 / 10 / 2
Регистрация: 12.05.2014
Сообщений: 229
03.04.2015, 09:29  [ТС] 3
Памирыч,
Спасибо, буду пробовать.
0
Почетный модератор
21413 / 9147 / 1083
Регистрация: 11.04.2010
Сообщений: 11,014
03.04.2015, 09:30 4
Позже или вечером, если не разберетесь, и никто не подскажет, будем разбираться вместе.
Я такого не создавал, так что тоже дебют
1
10 / 10 / 2
Регистрация: 12.05.2014
Сообщений: 229
03.04.2015, 11:58  [ТС] 5
Памирыч,
, как всегда - все вроде простенько, а как начинаешь малевать - .......

Не могу спрятать заголовки вкладок в табконтроле, параметр visible -прячет весь табконтрол.
Погуглил - и нашел только такое (чтобы выключить саму вкладку - ее заголовок в перечне - придется переделывать сам TabControl или воспользоваться плодами чужой работы (что может быть приятнее?). )

Не по теме:

Ладно тогда до вечера, буду гдето в 18-19

0
Почетный модератор
21413 / 9147 / 1083
Регистрация: 11.04.2010
Сообщений: 11,014
03.04.2015, 12:12 6
Скрывайте так:
свойство Табконтролла Appearance = FlatButtons
Текст со вкладок можно удалить, можно не трогать.
Настроить каждую вкладку - поставить цвет, а то он становится серым.
Заголовок можно закрыть Пикчербоксом, к примеру, либо задвинуть за край формы
0
Почетный модератор
21413 / 9147 / 1083
Регистрация: 11.04.2010
Сообщений: 11,014
03.04.2015, 14:34 7
Лучший ответ Сообщение было отмечено Vlad11 как решение

Решение

Прилагаю архив и демонстрацию
Как создать не стандартный оконный интерфейс программы (боковое меню)
Вложения
Тип файла: rar Табконтрол.rar (33.2 Кб, 49 просмотров)
5
Модератор
Эксперт .NET
4310 / 3384 / 507
Регистрация: 27.01.2014
Сообщений: 6,183
03.04.2015, 14:55 8
Памирыч, неплохая идея. Спасибо.
еще бы анимацию плавного перехода с вкладки на вкладку - вообще бы цены не было...

Добавлено через 1 минуту

Не по теме:

Памирыч, а как вставлять картинку в пост, чтоб она не была в рамке с надписью "Миниатюра"?

0
Почетный модератор
21413 / 9147 / 1083
Регистрация: 11.04.2010
Сообщений: 11,014
03.04.2015, 15:18 9
Цитата Сообщение от Yury Komar Посмотреть сообщение
еще бы анимацию плавного перехода с вкладки на вкладку
Где-то видел такие контроллы, не помню, как называются. Выглядят солидно, все плавно.
Но они - сторонние, ясное дело.
Цитата Сообщение от Yury Komar Посмотреть сообщение
как вставлять картинку в пост, чтоб она не была в рамке
Это зависит от размера. Маленькие вставляются как есть.
Второй способ - загрузить в альбомы, а в пост ссылку на изображение завернуть в тег [IMG]
1
211 / 228 / 87
Регистрация: 21.04.2013
Сообщений: 404
03.04.2015, 15:33 10
Лучший ответ Сообщение было отмечено Vlad11 как решение

Решение

Цитата Сообщение от Памирыч Посмотреть сообщение
Заголовок можно закрыть Пикчербоксом, к примеру, либо задвинуть за край формы
Так, вроде, полностью убираются:
VB.NET
1
2
3
        TabControl1.Appearance = TabAppearance.Buttons
        TabControl1.SizeMode = TabSizeMode.Fixed
        TabControl1.ItemSize = New Drawing.Size(0, 1)
3
Почетный модератор
21413 / 9147 / 1083
Регистрация: 11.04.2010
Сообщений: 11,014
03.04.2015, 15:42 11
Petr_S, отлично!
0
4651 / 3608 / 854
Регистрация: 02.02.2013
Сообщений: 3,487
Записей в блоге: 2
03.04.2015, 16:00 12
Лучший ответ Сообщение было отмечено Vlad11 как решение

Решение

Еще вариант
Миниатюры
Как создать не стандартный оконный интерфейс программы (боковое меню)  
Вложения
Тип файла: zip tstNewForm.zip (183.6 Кб, 45 просмотров)
2
398 / 317 / 53
Регистрация: 14.08.2014
Сообщений: 1,010
03.04.2015, 16:04 13
ovva, на Win7 страшновато немного выглядит. Каким-то мерцанием сменяются вкладки.
0
Модератор
Эксперт .NET
4310 / 3384 / 507
Регистрация: 27.01.2014
Сообщений: 6,183
03.04.2015, 16:11 14
Дядя Корней, DoubleBuffering в помощь
0
Почетный модератор
21413 / 9147 / 1083
Регистрация: 11.04.2010
Сообщений: 11,014
03.04.2015, 16:20 15
Yury Komar, нет, с такими интерфейсами никакой буферинг не спасет.
Меня вообще винформы вымораживают своими тормозами.
Стоит пихнуть немного картинок или слегка перебрать с количеством контроллов - и все, туши свет
0
Модератор
Эксперт .NET
4310 / 3384 / 507
Регистрация: 27.01.2014
Сообщений: 6,183
03.04.2015, 16:29 16
Памирыч, у меня тормозил DataGridView, так Nachrichter подкинул код для Двойной Буферизации других контролов:

VB.NET
1
2
3
4
5
6
7
8
9
Imports System.Reflection
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        SetDoubleBuffered(DataGridView1) 'Установка DoubleBuffered для DataGridView
    End Sub
 
    Public Shared Sub SetDoubleBuffered(ByVal control As Control) 'Процедура DoubleBuffered для DataGridView
        GetType(Control).InvokeMember("DoubleBuffered", BindingFlags.SetProperty Or BindingFlags.Instance Or BindingFlags.NonPublic, Nothing, control, New Object() {True})
    End Sub
за что ему примного благодарен, кстати подходит ко многим контролам вроде.
3
Почетный модератор
21413 / 9147 / 1083
Регистрация: 11.04.2010
Сообщений: 11,014
03.04.2015, 16:40 17
Yury Komar, надо будет попробовать в каком-нибудь тормозном проекте.
Для чистоты эксперимента задаблить все компоненты, какие есть:
VB.NET
1
2
3
        For Each C As Control In Me.Controls
            SetDoubleBuffered(C)
        Next
3
Модератор
Эксперт .NET
4310 / 3384 / 507
Регистрация: 27.01.2014
Сообщений: 6,183
03.04.2015, 18:51 18

Не по теме:

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



Добавлено через 8 минут

Не по теме:

Памирыч, проверил этот тормоз, который несколькими постами выше - его это не спасает ))))

0
Почетный модератор
21413 / 9147 / 1083
Регистрация: 11.04.2010
Сообщений: 11,014
03.04.2015, 18:54 19
Проверил тоже с кучей ЭУ и фоновой картинкой - не спасает
0
Модератор
Эксперт .NET
4310 / 3384 / 507
Регистрация: 27.01.2014
Сообщений: 6,183
03.04.2015, 20:03 20
Памирыч, ну с примером DataGridView, расположенном на множестве вкладок. вот этот код справился, нашел их все и применил ДвойнойБуфер, и прицепом все другие захватил ))

VB.NET
1
2
3
4
5
6
7
Public Sub cCl(ByVal Element As Control)
        On Error Resume Next
        For Index As Integer = 0 To Element.Controls.Count - 1
            SetDoubleBuffered(Element.Controls(Index))
            cCl(Element.Controls(Index))
        Next
    End Sub
2
03.04.2015, 20:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.04.2015, 20:03
Помогаю со студенческими работами здесь

Боковое меню как в контактах
Добрый день. Может быть кто-нибудь подскажет библиотеку, чтобы можно было сделать боковое меню...

Боковое меню как на YouTube TV
Как сделать аналогичное меню чтобы выезжало по стрелкам <- и уезжало ->. Я новичек в этом, копался...

Как убрать боковое меню ?
Ребята я Водпресс установил 2 недели как... И пока не могу до конца в нем разобраться. Вопрос:...

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


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

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