D>С поддержкой WinForms в mono все обстоит криво, очень криво. Шаг в сторону, и нет больше никакой совместимости с виндой... Проверял несколько раз, и каждый раз — разочарование, хотя и ожидаемое.
мм. понятно.. а давно проверяли? сейчас там уже 2.4 версия моно, может глюки исправлены уже?
D>Какие-то базовые вещи действительно работают. Но уж очень базовые. К тому же, WinForms-приложение смотрится в гноме чужеродным. В KDE оно будет таковым и подавно. Как я уже писал, добиться консистентности с гномьим окружением — это использование Gtk#, совсем другой библиотеки отличной от WinForms.
я что-то фишку не всекаю)) если я буду использовать Gtk# то и интерфейс будет везде соответсвующий? я просто думал что оно потом в каждой ос свой GUI использует..
значит например если я буду делать GUI используя Gtk#, то в виндовсе у меня должны быть библиотеки mono(в .net же её нет ?)? если да, то можно ли откомпилировать так, чтобы код из библиотек был в исполняемом файле и не требовал библиотек GUI?
D>Нет. Контрол из WinForms работать в Gtk# не будет. Сооветствовать тоже не будет. Установите MonoDevelop. Задайте вид проекта: Gtk# приложение. Все увидите сами. Gtk# и WinForms — совершенно разные библиотеки, хотя и решают одну задачу.
понял.. значит для каждой OS можно просто GUI переделывать? это ведь не очень трудная задача если не 1000 форм а 10 например?

или может я чего-то непонимаю?
D>Сторонний контрол должен быть реализован под каждую платформу отдельно. Причем, многие производители контролов грешат тем, что используют Win32, а это — прямая завязка на windows-only решение.
понял.. а существуют ли такие контролы? а то про mono ничего найти немогу на русском. даже в программерских форумах нету раздела про mono.
D>Именно файл exe там и запускается
Но опосредованно через запуск mono, и не в любом линукcе. Чтобы работало всегда, обычно пишут простенький bash-скрипт, который уже запускает mono и передает последнему имя нужной программы в качестве аргумента. Стандартный способ.
а если под линуксом писать и компилировать? тоже exe чтоли получится?
D>В общем, если у вас небольшой опыт программирования и действительно нужно написать кроссплатформенное приложение, то очень рекомендую посмотреть в сторону Java. Тем более, .NET создавался по образу и подобию Java. Найдете много общего.
D>Но если вы — истинный мастер программирования, то можете использовать C++ и, например, Qt. Но это — тяжелый и тернистый путь. Далеко не каждый осилит
опыт программирования у меня только на Delphi. в остльном по чуть-чуть, можно сказать что и нет. но делфи как и другие помоему отходят на задний план при появлении .net и mono. ну это если прицеливаться на будущее)) ИМХО
D>Что касается .NET, то он является кроссплатформенным для небольшого круга задач, в число которых GUI не входит. Только если не Silverlight (Moonlight в линуксах), но это уже немного другая история. Да и там тоже не все так гладко.
допустим... если переделывать GUI под каждую OS, то много шансов что будет работать? да и помоему это логично, т.к. GUI чужих ОС будут плоховато в каждой ос смотреться) приложение будет работать с базами, использовать дерева и гриды, вкладки... несколько форм (3-6) вроде не оч много переделывать, учитывая то что интерфейс уже разработан и нужно просто повторить его на других ос. правильно я думаю?
ps. спасибо что отвечатете на мои вопросы, в русском интернете очень мало по этой теме почему-то.. ?!?!
за всю жизнь наверное раз 5й захожу на форумы что-то спросить, а тут найти ничего не получается...))