powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Пишу программу. Получается архаичный интерфейс
25 сообщений из 29, страница 1 из 2
Пишу программу. Получается архаичный интерфейс
    #38975342
Фотография Nika gnome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как сделать не допотопный интерфейс?


Избавляюсь от всякого рода "менюшек", и прочих архаичностей.
Но при использовании стандартных контролов VS.NET интерфейс всё равно получается а-ля 90-е.
Пытаюсь писать свои кнопки, чекбоксы. Но беда в том, что, напр., в том же чекбоксе нельзя (вернее, как?) сделать галочку, выступающую за пределы чекбокса.

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

То же выравнивание.. рисую три кнопки или три грида на форме слева направо. И при изменении размеров экрана приходится в sizechanged прописывать равномерное изменение их ширин. И при этом они моргают безбожно.

Да та же студия - там изменение ширины панели тоже сделано как в 90-х: беру за границу панели properties, начинаю расширять - и вместо того, чтобы расширяться, под указателем мыши появляется какая-то чёрная жуткая вертикальная полоса, которая обозначает, какой ширины будет панелька после того, как мышку отпустишь.

Вроде, WPF подходит - но такое ощущение, что он вообще заброшен майкрософтом и не совершенствуется. Не изменяется от версии к версии.
...
Рейтинг: 0 / 0
Пишу программу. Получается архаичный интерфейс
    #38975358
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nika gnome,

1) Если речь о бизнес-приложениях, то ко всяким украшательствам следует подходить очень осторожно
2) WPF живет, пока иных технологий под Desktop не представляли
3) Могу посоветовать для большей красоты использовать сторонние библиотеки компонентов.
...
Рейтинг: 0 / 0
Пишу программу. Получается архаичный интерфейс
    #38975386
petalvik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nika gnome,

суть фреймворков в том и заключается, что все приложения написанные под этот фреймворк, похожи друг на друга. И поэтому пользователям легко в них работать: привыкнув к одному, легко пользоваться и другими.
А вот когда дизигнеры начинают заниматься украшательствами, когда программеры начинают менять способы ввода... Пользователи потом оправдываются: "Оно само, я ничего не нажимала!"

Тем не менее, можно и в WinForms создавать элементы произвольной формы: круглые, треугольные, какие угодно. Можно и у чекбокса сделать выступающую за пределы галочку. Но рисовать придётся вручную, с использованием Graphics, Region, etc. Пример создания круглой кнопки.

Заброшен наоборот Windows Forms, а WPF цветёт и пахнет. Был небольшой период, когда в WPF не вносились изменения, но в последнее время дело пошло.
...
Рейтинг: 0 / 0
Пишу программу. Получается архаичный интерфейс
    #38975529
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nika gnome,

пытаться делать это в WF, всё равно, что ежиков рожать :)
переходите на WPF, там галочку о которой вы говорите можно за 5 минут сделать, не прилагая особых усилий, чисто декларативно, без всякой писанины кода для рендеринга.
...
Рейтинг: 0 / 0
Пишу программу. Получается архаичный интерфейс
    #38975565
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nika gnomeКак сделать не допотопный интерфейс?


Забудьте про галочки. Выступающие, впадающие - про любые.

Чтобы сделать не допотопный интерфейс - надо быть в теме. Как UI так и UX.

И WPF подходит для этого лучше чем кто либо.
...
Рейтинг: 0 / 0
Пишу программу. Получается архаичный интерфейс
    #38975597
Фотография Nika gnome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, согласна с вами.
...
Рейтинг: 0 / 0
Пишу программу. Получается архаичный интерфейс
    #38975764
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nika gnome,

Нормальный современный интерфейс - это тот который всегда соответствует стилю операционной системы на которую прога установлена, будь то XP или Win 8.1.
С WinForm, если не использовать всякие стрипы, это как раз очень даже возможно, т.к. в основе большинства контролов лежат таки Common Controls (WIN 32 API).
А вот насчет WPF я как то очень сомневаюсь в универсальности, хотя судить не берусь ибо с ним не работал.
Т.е. круглую кнопку вы м.б. и наваяете, только это будет петушинный интерфейс а не "современный".
...
Рейтинг: 0 / 0
Пишу программу. Получается архаичный интерфейс
    #38975861
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77Nika gnome,

Нормальный современный интерфейс - это тот который всегда соответствует стилю операционной системы на которую прога установлена, будь то XP или Win 8.1.
С WinForm, если не использовать всякие стрипы, это как раз очень даже возможно, т.к. в основе большинства контролов лежат таки Common Controls (WIN 32 API).
А вот насчет WPF я как то очень сомневаюсь в универсальности, хотя судить не берусь ибо с ним не работал.
Т.е. круглую кнопку вы м.б. и наваяете, только это будет петушинный интерфейс а не "современный".ну вот не надо фигню пороть. Что интерфейс получился удобным и не петушиным, его должен делать не программист, а дизайнер и всё тогда будет нормально.
В плане кастомизации WPF универсален более чем WF, это неоспоримый факт, то, что делается в WF со скрипом в WPF делается практически мгновенно. + Анимация, а анимация это не пустой звук, она расширяет возможности визуализации, например визуализацию событий в интерфейсе и многое другое. Делает интерфейс плавным и понятным. В WF чтоб сделать анимацию нужно очень много возьни.
...
Рейтинг: 0 / 0
Пишу программу. Получается архаичный интерфейс
    #38975864
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman MejtesДмитрий77Nika gnome,

Нормальный современный интерфейс - это тот который всегда соответствует стилю операционной системы на которую прога установлена, будь то XP или Win 8.1.
С WinForm, если не использовать всякие стрипы, это как раз очень даже возможно, т.к. в основе большинства контролов лежат таки Common Controls (WIN 32 API).
А вот насчет WPF я как то очень сомневаюсь в универсальности, хотя судить не берусь ибо с ним не работал.
Т.е. круглую кнопку вы м.б. и наваяете, только это будет петушинный интерфейс а не "современный".ну вот не надо фигню пороть. Что интерфейс получился удобным и не петушиным, его должен делать не программист, а дизайнер и всё тогда будет нормально.
В плане кастомизации WPF универсален более чем WF, это неоспоримый факт, то, что делается в WF со скрипом в WPF делается практически мгновенно. + Анимация, а анимация это не пустой звук, она расширяет возможности визуализации, например визуализацию событий в интерфейсе и многое другое. Делает интерфейс плавным и понятным. В WF чтоб сделать анимацию нужно очень много возьни.
При всем при том, что с дифирамбами в адрес WPF я согласен, когда речь идет о бизнес-приложении, на фига там анимация? И прочие украшательства? Чем интерфейс отзывчивее, тем лучше.
...
Рейтинг: 0 / 0
Пишу программу. Получается архаичный интерфейс
    #38975905
Фотография Nika gnome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79При всем при том, что с дифирамбами в адрес WPF я согласен, когда речь идет о бизнес-приложении, на фига там анимация? И прочие украшательства? Чем интерфейс отзывчивее, тем лучше.

Как я вижу, возможности WPF полностью поглощают в себе возможности WF. Т.е. я хочу сказать, что всё, что можно сделать в WF, можно сделать и в WPF, но не наоборот.

Скажем, те же самые столбцы, которые в WPF можно равномерно растягивать и сжимать, в WF приходится писать самой в sizechanged. В WPF действительно высокая интерактивность интерфейса - надписи в зависимости от ситуации меняются с помощью привязок, а не с помощью кода. Прорисовка компонентов гораздо быстрее.

+ возможность (при необходимости) кастомизации интерфейса - приложение может полностью соблюдать корпоративный стиль, если в этом есть необходимость.
...
Рейтинг: 0 / 0
Пишу программу. Получается архаичный интерфейс
    #38975921
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nika gnome,

есть и слабые стороны, например, WPF очень тяжело работает с большим количеством объект. Если разместить к примеру 10000 объектов на форме лаги будут очень сильные. Правда думаю на WF они тоже будут не слабые :) кто то скажет, что мол это не нормально и я соглашусь, 10000 объектов надо виртуализировать :)
но вот пример: есть таблица 100 столбцов, 100 строк, 10000 ячеек, каждая ячейка 25x25 пикселей. очень тяжело такое заходит.

В новых версиях обещали, что количество объектов в визуальном дереве для всех встроенных элементов будет меньше
или к примеру в FW4.0 панель виртуализации сделана индусами, в 4.5 вышла новая более прокаченая версия
...
Рейтинг: 0 / 0
Пишу программу. Получается архаичный интерфейс
    #38975970
Фотография Nika gnome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что скасается грида - я тут свой сделала, который обычными линиями всё рисует в onpaint.
Да, 10 столбцов и 1000 строк - это рядовой случай. Поэтому вообще не понимаю, как можно пользоваться гридами, где каждая ячейка (зачем-то) отдельный объект. Вроде как супер-настраиваемо получается, но по факту ячейки даже не объединить в том же DataGridView.
И поскольку мой компонент пулей летает, да ещё и результат запроса MDX из OLAP в себя выгружает и в виде дерева показывает, я его FastGrid назвала))
...
Рейтинг: 0 / 0
Пишу программу. Получается архаичный интерфейс
    #38976002
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nika gnomeчто скасается грида - я тут свой сделала, который обычными линиями всё рисует в onpaint.
Да, 10 столбцов и 1000 строк - это рядовой случай. Поэтому вообще не понимаю, как можно пользоваться гридами, где каждая ячейка (зачем-то) отдельный объект. Вроде как супер-настраиваемо получается, но по факту ячейки даже не объединить в том же DataGridView.
И поскольку мой компонент пулей летает, да ещё и результат запроса MDX из OLAP в себя выгружает и в виде дерева показывает, я его FastGrid назвала))
=) Ну в WPF у базового класса UIElement есть метод OnRender, который по сути является тем же OnPaint в WinForms, можно спокойно переопределить его и так же нарисовать всё, что душе угодно :)
...
Рейтинг: 0 / 0
Пишу программу. Получается архаичный интерфейс
    #38980617
ZhV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Пишу программу. Получается архаичный интерфейс
    #38980620
ZhV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Пишу программу. Получается архаичный интерфейс
    #38981411
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Nika gnomeДа, 10 столбцов и 1000 строк
Ужас. Бедные пользователи
...
Рейтинг: 0 / 0
Пишу программу. Получается архаичный интерфейс
    #38981431
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2Nika gnomeДа, 10 столбцов и 1000 строк
Ужас. Бедные пользователи
всего 1000, а столько эмоций
...
Рейтинг: 0 / 0
Пишу программу. Получается архаичный интерфейс
    #38981872
Фотография Nika gnome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилCat2пропущено...

Ужас. Бедные пользователи
всего 1000, а столько эмоций
они сами указывают период для просмотра (данных может быть от 100 строк до нескольких тысяч строк), выгружают в excel и там при необходимости делают с этими данными всё, что хотят.
столбцы скрываемые. Если все показать, то там их под 30 у меня (в принципе, как и в проводнике Windows)
...
Рейтинг: 0 / 0
Пишу программу. Получается архаичный интерфейс
    #38981880
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nika gnomeчто касается грида - я тут свой сделала, который обычными линиями всё рисует в onpaint.
Да, 10 столбцов и 1000 строк - это рядовой случай. Поэтому вообще не понимаю, как можно пользоваться гридами, где каждая ячейка (зачем-то) отдельный объект. Вроде как супер-настраиваемо получается, но по факту ячейки даже не объединить в том же DataGridView.
И поскольку мой компонент пулей летает, да ещё и результат запроса MDX из OLAP в себя выгружает и в виде дерева показывает, я его FastGrid назвала))
любой грид делается так же просто как сделан DataGrid, который по сути своей является компоновкой 3 ItemsControl'ами + каждая строка является им же. Вот и вся компоновка, размер каждой ячейки можно задать с помощью RowSpan, ColumnSpan, и использовать соответствующие панели для отображения. Сделать сам Grid не слишком большая проблема. Но этот вариант подходит только если на экране будут отображаться не более 1000 объектов. На 10000 такой подход избыточен, лучше использовать виртуализацию и всё будет работать так же быстро.
Если вы делайте такие объекты, как мне кажется, лучше пользоваться WPF, там возможности Rendering'а на много круче, а WPF контролы просто встраивать в WF приложение. Проблем с этим нет.
...
Рейтинг: 0 / 0
Пишу программу. Получается архаичный интерфейс
    #38982603
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Не архаичный, а винтажный
...
Рейтинг: 0 / 0
Пишу программу. Получается архаичный интерфейс
    #38982869
Фотография Дикий Билл
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WPF пипец убожество.
Кстати, все говорили мол это что-то новое после винформс, а в итоге похоже винформс его пережил. WPF мертво.
...
Рейтинг: 0 / 0
Пишу программу. Получается архаичный интерфейс
    #38983058
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дикий БиллWPF пипец убожество.
Кстати, все говорили мол это что-то новое после винформс, а в итоге похоже винформс его пережил. WPF мертво.

Неправда, мертв не сам WPF, а .NET не оправдал надежд, и все связанные с ним технологии. Для энтерпрайза он еще пойдет, но коробочный софт пишут на C++ и MFC.
Если тс хочешь разрабатывать качественный, современный UI, надо переезжать на C++ и начинать изучать что-то типа Professional GUI for professional applications
А про всякие, менаджмент прокладки надо забыть, оставьте их женщинам.
...
Рейтинг: 0 / 0
Пишу программу. Получается архаичный интерфейс
    #38983068
petalvik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EoltЕсли тс хочешь разрабатывать качественный, современный UI, надо переезжать на C++ и начинать изучать что-то типа Professional GUI for professional applications
Глянул. Умилило: "Visual Studio-like docking panes". Тащем-та, гуй VS написан на WPF.
Хотя, справедливости ради, я наваяю его на чём угодно, хоть WinForms, хоть чистый WinAPI. Вопрос в трудозатратах.
...
Рейтинг: 0 / 0
Пишу программу. Получается архаичный интерфейс
    #38983080
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petalvikEoltЕсли тс хочешь разрабатывать качественный, современный UI, надо переезжать на C++ и начинать изучать что-то типа Professional GUI for professional applications
Глянул. Умилило: "Visual Studio-like docking panes". Тащем-та, гуй VS написан на WPF.
Хотя, справедливости ради, я наваяю его на чём угодно, хоть WinForms, хоть чистый WinAPI. Вопрос в трудозатратах.

Что-то я не верю, что кто-то в трезвом рассудке будет писать студию под .NET, в таком случае ей потребуется наверное i7 и гигов 16 оперативки чтобы хоть как-то шевелиться)) Dependency walker подтвержает эту мысль, основные файлы студии - это неуправляемый код со ссылкой на С++ рантайм.
...
Рейтинг: 0 / 0
Пишу программу. Получается архаичный интерфейс
    #38983082
petalvik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eoltосновные файлы студии - это неуправляемый код со ссылкой на С++ рантайм.
Верно. А ГУЙ сделан на WPF.
...
Рейтинг: 0 / 0
25 сообщений из 29, страница 1 из 2
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Пишу программу. Получается архаичный интерфейс
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]