Честно говоря меня самого удивляет отсутствие ряда контролов, в т.ч. и класса Line.
Посмотрите к примеру стандартный визард майкрософтовский - там такая линия понтовая внизу есть, и весь прикол в том, что в .NET просто ее никак не сделаешь
Разные контролы типа DriveListBox и им подобных - куда они все делись?
В Vb6 они, конечно, и так были не очень удобными и красивыми, но почему вместо того чтоб сделать их номальными, нужно было их просто удалить?
Ммм... Это примерно как сказать, что BMW хуже велосипеда, потому что в нём нет удобного звоночка на руле...
у BMW "ЗВОНОК" есть, да такой, что велосипеду не снился, а на .Нет - нету Line, как ни крути!)))
Вам вообще легко говорить, а у меня проект весь на gdi-графики. Из-за этого я выше VB6 не иду.
и весь прикол в том, что в .NET просто ее никак не сделаешь
Впрочем в данный момент в топике "Создать ActiveX, подобный объекту line" мы перебрали пару идей. Думаю, что если вписать в класс процедуры, которые предложил Серега в 1-ом ответе, написать свойства вроде x1,y1,x2,y2. Задать нумерацию свойством индекс, то получится практически ничем не уступающий linу класс. Получается можно написать, вопрос только - почему не написали?
Да ладно, что есть ещё .NET-программисты, которые не знают что все .NET языки транслируются в промежуточный язык (Intermediate Language) виртуальной машины? VB.NET - всего лишь транслятор языка BASIC для .NET FW, в отличие скажем от VB6, для которого создавали отдельную ВМ на основе COM.
Я ж не прошу воскресить Variant
Другая технология другие и типы. Хотя, насколько мне известно, технология COM в .NET далеко не забыта и родной для технологии COM (а вовсе не для VB6) тип Variant тоже нельзя считать совсем уж мёртвым.
Хоть линию понтовую-то сделать могли? Ну которая в визардах, объемненькая такая
Вместо нее приходится два пикчурбокса ставить...
Вам вообще легко говорить, а у меня проект весь на gdi-графики. Из-за этого я выше VB6 не иду.
В .NET вызов АПИ-функций не запретили, в чем проблема?
Впрочем в данный момент в топике "Создать ActiveX, подобный объекту line" мы перебрали пару идей. Думаю, что если вписать в класс процедуры, которые предложил Серега в 1-ом ответе, написать свойства вроде x1,y1,x2,y2. Задать нумерацию свойством индекс, то получится практически ничем не уступающий linу класс. Получается можно написать, вопрос только - почему не написали?
Мне не надо класс, ничем не уступающий Line'у из VB6, мне надо стандартный класс Line, отразработчиков Microsoft, причем с поддержкой объемности.
Я вместо того чтоб что-то писать, лучше два PictureBox влеплю, поставлю им системные цвета и все.
Да ладно, что есть ещё .NET-программисты, которые не знают что все .NET языки транслируются в промежуточный язык (Intermediate Language) виртуальной машины?
Знаем, знаем, но факт наличия/отсутствия определенного класса не привязан к факту наличия IL...
Знаем, знаем, но факт наличия/отсутствия определенного класса не привязан к факту наличия IL...
Т.е. ты хочешь сказать что для VB.NET писались какие-то отдельные классы помимо библиотеки классов .NET? Я не имею в виду возможно ли такое в принципе, а конкретно писала ли Микрософт классы специально под VB, которых нет (или иначе реализованы) в других .NET языках? А как насчёт совместимости в болеющих крайней формой стандартизации Соединённых Штатах?
нет, лучше два PictureBox'а.
Как знать. Куча лабелов тоже иногда лучше чем один листбокс, тем более если ты не знаешь как с этим листбоксом работать.
Т.е. ты хочешь сказать что для VB.NET писались какие-то отдельные классы помимо библиотеки классов .NET?
Специально для VB что-то писала.
Microsoft.VisualBasic.*
Написано изначально для того, чтоб Vb6-программисты проще перешли на .NET, в частности, продублирован старый механизм работы с файлами, старые функции типа Len, Trim и Split, CInt и т.п., классы для поддержки старого способа обратоки ошибок (ErrObject, правда, его уже напонтовали поддержкой исключений .
Также туда положили классы, которые делают работу с .NET более простой, т.е. всевозможные классы-обертки, с помощью которых разные действия можно делать не 5-20 строками кода, а одной-двумя (в основном это Microsoft.VisualBasic.Devices и Microsoft.VisualBasic.FileIO).
Разумеется, это все находится в обычных дотнетовских сборках, т.е. может быть подключено и использоваться в любом другом .NET-языке.
Как знать. Куча лабелов тоже иногда лучше чем один листбокс, тем более если ты не знаешь как с этим листбоксом работать.
Когда альтернатива - PictureBox с OwnerDraw'ом, или сторонний компонент, более привлекательный вариант - два Pictureox'а
Кстати, в VB6 вообще можно обойтись Object.Line.
В .NET не "можно", а "приходится", тк никаких таких артефактов не осталось уже
Разумеется, это все находится в обычных дотнетовских сборках, т.е. может быть подключено и использоваться в любом другом .NET-языке.
Весело. Неужели VB интегрирован в .NET? Теперь хоть понятно отчего такие размеры у FW. Хотя я раньше об этом не слышал. И в схемах устройства классов .NET тоже ничего такого не показывалось. Постеснялись видимо тех, кому всякий хлам (который он возможно никогда в жизни не будет использовать) и нафиг не нужен.
Мне не надо класс, ничем не уступающий Line'у из VB6, мне надо стандартный класс Line, отразработчиков Microsoft, причем с поддержкой объемности.
Ну ладно попробуй написать контрол, который ни в чём не будет уступать line. В чём роблема?
В .NET вызов АПИ-функций не запретили, в чем проблема?
Ну сам же ответил на свой вопрос:
Мне не надо класс, ничем не уступающий Line'у из VB6, мне надо стандартный класс Line, отразработчиков Microsoft, причем с поддержкой объемности.
Как с помощью АПИ сделать поддержку объемности, ну и там всякое такое*?... Это будет в лучшем случае сто строк кода... - вместо одного одного VB6ного элемента line?
А ты-то сам чем пользуешься?
Не надо пугаться, там от силы сотня классов будет, всего-то полтора метра с документацией.
Да уж, боятся VB действительно нечего - как был 1.5 метра, так и остался (не считая конечно довеска остальной "мощи".
А как насчёт остальных .NET языков? Они тоже имеют представителей в библиотеке классов или тёплые местечки только для избранных?
Ну ладно попробуй написать контрол, который ни в чём не будет уступать line. В чём роблема?
Ты че прикалываешься с меня?
Делать мне нечего сидеть писать какой-то контрол...
Как с помощью АПИ сделать поддержку объемности, ну и там всякое такое*?... Это будет в лучшем случае сто строк кода... - вместо одного одного VB6ного элемента line?
Строчек 10-20. Под 50, но не больше.
А ты-то сам чем пользуешься?
Два PictureBox'а, один под другим.
А как насчёт остальных .NET языков? Они тоже имеют представителей в библиотеке классов или тёплые местечки только для избранных?
Представителей имеют.
Местечек только для избранных нету, зачем фигню городишь?
Я ж сказал, .NET-сборки, их хоть из фортрана .NET-овского используй.