Другие языки программирования и технологии

На каком языке лучше начать учить Windows Forms: C++ или C# ? и чем вообще WindowsForms отличается от WinAPI ??

Danil Kim
Danil Kim
1 846
C#
Отличается
РЮ
Руслан Юдин
59 714
Лучший ответ
Danil Kim WindowsForms вообще штука современная?
WindowsForms - морды и интерфейсы с автогенерируемой (обычно криво) начинкой.
Это лучше через Сишарп

ВинАПИ - обращение к начинке винды - Это лучше через С. Не через С++, а именно через С.
My Name Is Ilgiz*
My Name Is Ilgiz*
27 060
Ерлан Айткужаков Можно подумать что вызов функции в С++ отличается от вызова функции в Си.
C#, конечно. Он удобнее, для него лучше IDE, а главное - по нему больше документации, статей, образцов кода в инете. По C++/CLI их вообще почти нет.

> чем вообще WindowsForms отличается от WinAPI
1. Визуальный конструктор форм, который избавляет от необходимости писать код окна руками (залезать в код, который он генерирует, иногда все же приходится, когда конструктор дает сбой и слетает, но очень редко) . Для WinAPI ничего подобного нет.
2. ООП. Форма - класс, экземпляр ее - объект этого класса. Кнопка вообще - класс, каждая из кнопок на форме - объект. Можно создать свой класс на основе той же кнопки, что-то добавить, и закинуть его на форму как обычную кнопку. Называется пользовательский контрол. Для каждого события кнопки, формы (клик, даблклик. . ) свой метод в классе форм. В винапи - одна большая функция с нагромождением switchей для всего сразу.
3. Ну и количество стандартных и сторонних контролов Винформс, конечно, намного больше, чем в винапи.

Отмечу, что WinAPI - это не только GUI.
И не гуевая часть WinAPI (например, эмуляция клавиш) .NETом толком не обернута, так что и на C# в таких случаях все равно приходится юзать WinAPI. И эту незаменимую часть WinAPI знать нужно.
WinForms для C# предназначено, но можно и на С++ если включить netFramework ,
winapi для низкого доступа Windows