Difference between winforms, web forms, and windows forms - windows

Right now I am working on c# windows applications developement. But my concern is I want to know what is the difference between winforms in c# .
what is the difference between winforms and windows forms in c#?
Thanks

Winforms and Windows Forms are the same thing. Winforms is the shortened name for Windows Forms.
From Wikipedia:
Windows Forms (WinForms) is the name given to the graphical
application programming interface (API) included as a part of
Microsoft .NET Framework
Additional info from MSDN answer:
Based on my understanding, you want to know the difference between
Windows based application and WinForms application development using
c#. Windows based application is that the application is
developed under Window Operating System, excluding such application
developed under other Operating System like Linux & Unix.
However,there are two kinds of windows based application in .net, WinForm &
Web application. you can develop several different kinds of
Windows-based applications. You can create Windows Forms and Windows
service applications that leverage the power of the .NET Framework, or
you can use Visual C++ to create Windows Win32-based applications
However, the WinForm application is a kind of managed application,
develop on .Net platform. It's the extension of the Windows-based
application. The Windows Forms classes contained in the .NET Framework
are designed to be used for GUI development. You can easily create
command windows, buttons, menus, toolbars, and other screen elements
with the flexibility necessary to accommodate shifting business needs.
The topics in this section provide details about how to use the
features offered by Windows Forms.

Related

Why is it said that WinRT replaces the Windows API

In almost every text about the new WinRT API I came to statements like "WinRT is the new API for Windows and replaces the old Win32 API". Since WinRT aims the development Windows Store apps, this statement to me does not seem to hold true.
There are lots of applications I just can not imagine to be done with WinRT (e.g. Microsoft Office, Adobe Products, 3D Designer Programs and even Visual Studio). These applications still need the functionality of the Windows API (aka Win32).
So why is it so often said, that the WinRT API replaces the Windows API?
This has kind of changed, recently due to a couple reasons, but here's the rundown of why you want to use WinRT over Win32 in current Windows application development (circa 2017):
WinRT is leveraged by UWP apps
Win32 apps can be converted into UWP apps using the Desktop Bridge
Windows 10 S requires all apps to go through the Windows Store
Ergo, using WinRT will invoke less time spent converting projects and code for the new Windows 10 S Store-only application paradigm.
In regards to WinRT vs. Win32API vs. .NET, both .NET and WinRT are partially built with Win32; IIRC, they use subsets of it. At least that's what was communicated back in 2012 from ArsTechnica in Peter Bright's article, "Turning to the past to power Windows’ future: An in-depth look at WinRT". That's where this stack chart comes from, or at least it was used there:
I'm not sure if it's often said that the Windows Runtime (WinRT) API replaces the Win32 API. It's not something Microsoft is saying. In many ways WinRT tries to learn from the failure of the .NET Framework to replace the Win32 API. That includes Microsoft not trying to push WinRT as a replacement, but merely a new way of doing things.
There isn't actually much of a reason why the applications you mentioned couldn't be be implemented using the WinRT API. The new API includes a lot of the functionality of the old. You can write WinRT applications in C++ and the resulting applications are native executables, not managed ones. It's even possible to use a subset of the Win32 APIs.
While Adobe has little to gain by porting its applications to WinRT, expect Microsoft to do so. They rewrote most of Visual Studio to use the .NET framework. If anything the WinRT API makes it practical to implement much more of it the new environment.

Convert windows phone application to universal one

Recently Microsoft announced ability to create universal applications in Visual Studio 2013. Is there any easy way to convert existing Windows Phone 8 application into universal or i have to create new project and properly move the code manually?
It is not about converting a project type or moving code. You will have to port your app from one runtime to another. This is because the Universal project templates use the Windows Runtime APIs where as your existing Windows Phone 8 application uses the Silverlight APIs.
Windows Phone Store apps use the same app model and UI framework as Windows Store apps do, and they use the Windows versions of common features such as background tasks. You will still be able to reuse a lot of your existing code, but these differences mean that it really is a porting exercise, more than just an update, to move a Windows Phone 8 to the new app model.
(Source)
There are some features that are available in Windows Phone 8 for which there is no Windows Phone Store (Universal apps) equivalent. See more here.
The right-menu option is "Add Windows 8.1...". That will add Windows 8.1 support and add a Shared section to both projects so you can share code between then.
In your solution, right click your Windows Phone application and select "Add Windows 8.1..." and follow the prompts.

Merging Windows Forms Application - Win32 Project Application

Is there any way merging Windows Forms Application with Win32 Project Application (VS 2012), both written in Visual C++?
Windows Forms Application plays video (via vlc plugin) and Win32 Project Application displays the codes of a joypad (via a dialog box). I want an executable doing both. How can I achieve this?
If you use MFC, you should read the following article:
Integrate Windows Forms Into Your MFC Applications Through C++ Interop
And see here: Windows Forms and Unmanaged Applications Overview
If you just want to show a dialog, this should not be a problem; if you want to embedd a control, you should use ActiveX controls.
See also: http://www.gregcons.com/KateBlog/MixingMFCAndWinForms.aspx

Windows RT .NET compatibility

I just need to know if I need the same framework to develop an app for Windows 8 for Tablets (Windows RT) and PCs or the tablet one still uses .NET compact framework.
The only type of applications that run on Windows RT (ie. the Tablet/ARM version of Windows 8) are Windows Store Apps. These are full-screen applications that run on top of the WinRT API.
You can use a subset of .NET 4.5 on these devices, and use XAML to build your interface just like you would with WPF on the desktop.
You can read more on MSDN - .NET for Windows Store apps overview. This article describes a lot of the changes between the main version of .NET and the Windows RT subset that's available to you. Generally, Windows.Runtime will provide alternatives to some of the .NET methods that no longer exist.
http://www.infragistics.com/community/blogs/nick-landry/archive/2012/06/19/developing-apps-for-microsoft-surface-windows-8-windows-rt-and-windows-phone.aspx
here are all the info about that
As for the .Net compatibility, the .NET for Windows Store apps link states that the a lighter version of the .Net Framework (aptly called ".NET for Windows Store apps") will be available in Windows RT and so the available APIs too will be a subset of those available in the Full Desktop Version of the Framework. Eg. In Windows RT, Windows Forms will not be availble.
You can also create a Portable Class Library project to develop a .NET Framework library that can be used from a Windows Store app. The project must include .NET for Windows Store apps as one of the target platforms. This is useful when you want to build functionality that can be used from apps for different platforms, like Windows Phone app, desktop app, and Windows Store app.
Dev Center - Windows Store apps is the best (and official) place to get started.

Porting Windows Phone7 application to Windows 8

I ported my windows phone7 application to windows 8(just copy paste the xaml and c# code in visual studio 2012->new->project->WPFApplication) and made changes in UI sizes.The problem is the .exe file(after building wpf application) runs only in the system with .NET framework installed.I want to run my application in all system running windows(7(32/64),xp,vista).I am newbie to windows application basically wp7 developer.Thank u.
If you really want to port a windos phone 7 app to windows 8, You should go through the following resources. They provide most of the information.
http://msdn.microsoft.com/en-us/library/windows/apps/hh465136.aspx
http://leventoz.wordpress.com/2012/03/07/moving-a-windows-phone-app-to-windows-8-a-case-study-part-1/
http://leventoz.wordpress.com/2012/03/11/moving-a-windows-phone-app-to-windows-8-a-case-study-part-2/
WPF is a part of the .NET framework, so you can't write a WPF application that can run without the framework on the machine.
If you want to create a binary that run on the classic windows runtime you can't use WPF/C#/VB etc.
Best thing if you want to port your Windows Phone app to Windows 8 is to create a Microsoft Store app, File > New Project > Blank App in VS2012. The app won't run on anything except Windows 8 but the Microsoft Store for Windows 8 is probably the best place to have your app if it's ported from Windows Phone.
Migrating application to WP7 is not that easy as it sounds. There is lot of different APIs and also limited async/await in WP7 when using this extension.
I would probably recommend starting with this MSDN article. It describes basic problems and challenges and also contains useful namespace and API mapping:
Migrate/port a Windows Phone 7 app to a Windows Store app

Resources