.NETに関する世界観です。C#やVisual Basicも参照のこと。
C#/VB.NETでは、GUIのアプリケーションを開発するために「イベント駆動」と呼ばれる方式でプログラムを記述する。
これは、「ボタンが押された時」や「キーが入力された時」のようなイベントの発生に対して、それぞれに対応するプログラムコード(イベントプロシージャ)を開発する、ということを意味している。
プログラマは、GUIデザイナーでウィンドウをデザインし、ウィンドウのイベントやプロパティを設定して、イベントに対応するコールバック関数を登録していく。
これは、.NETより以前のVisual BasicやDelphi、それからGTK+などにもみられる、「イベントドリブン」と呼ばれるGUIプログラムの開発方法である。
イベント駆動を参照のこと。
.NET Frameworkは、Microsoftによる拡張されたJavaライクな仮想マシン。
Microsoftによる、Java仮想マシンを参考にして作られた、プログラムの実行環境。
Windowsと密接に結びついているが、標準化されているため、UNIXで同等の環境を開発することは出来る。そのため、monoが生まれている。
旧来のVisual Basicを.NET向けにオブジェクト指向に拡張した言語。
Visual Basicも参照のこと。
独自に設計された、JavaとDelphiを基にして作られた言語。C#と.NETの組み合わせは「Javaのパクリ」と言われることが多く、見た目も良く似ているが、WindowsネイティブのGUIアプリケーションを作成するために良く用いられる。
C#も参照のこと。
C++を.NET Frameworkで使うためのC++の拡張。
Visual C++/MFCを参照のこと。
Ocamlをベースとした関数型言語。
MLも参照のこと。
.NET Frameworkのクラスライブラリ。
.NET Framework クラス ライブラリ - MSDNを参照のこと。
.NETでWindowsフォームを作成するためのクラスライブラリ。
旧来の.NETでのGUIデザイン。
以下にサンプルコードがあります。
コンテナ系のコントロールは、コントロールの中にほかのコントロールを入れ込んで配置できるコントロールで、複雑なレイアウトやタブによる切り替えなどを利用できる。
Windows.Formsでは、さまざまなコントロールをコンテナの中に配置することで、フォームデザインを行う。
PanelコントロールやTabControlコントロールなどがコンテナに含まれる。
2023.01.11編集
.NETではRichTextBoxを使うことで、文字の色やサイズを変えることができる。
.NETではWebBrowserコントロールを使うことで、Webブラウザがすぐに作れる。
また、OpenWebKitSharp(WebKit .NETの派生)を使ってWebKitを埋め込むこともできる。
WebKit埋め込みも参照のこと。
Windowsで標準のコントロールを配置するだけではなく、独自の機能を追加したカスタムコントロールを作って使いたい場合は、MFCなどで作る方法もあるが、継承やオーバーライドやイベントを使ってC#/VB.NETで作る方法もある。
C#でカスタムコントロールを作る方法:
このように、UserControlやTextBoxなどの継承を行うことで、カスタムコンポーネントを簡単に作ることが出来る。
Visual Basic(フォームデザイナー)も参照のこと。
以下のマイクロソフトの記事が参考になります。ペンやブラシを使って幾何学的なグラフィックスが実現できます。ぜひブラウザのようなものを作ってください。
GDIも参照のこと。
AngleSharpはC#/.NETの定番ライブラリで、HTMLをパースできる。スクレイピングなどに活用できる。
2023.10.02
NuGetは.NET向けのパッケージ管理ツール。
2023.10.02
ASP.NETを参照のこと。
ADO.NETを参照のこと。
WPFを参照のこと。
Monoを参照のこと。
.NET Coreを参照のこと。
GUIの開発全般についてはGUI開発を参照のこと。
Microsoftによる、Java VMと同等の仮想マシンを用いたプログラム実行・開発環境。
Windows版のJavaとも言えるが、標準化されているためMonoなども実装されており、またManaged C++(C++/CLI)やC#/VB.NET、F#などどちらかというと「実行プラットフォームの共通性」よりも「プログラミング言語の多様性」を重視している。
C#/.NETのWindows.Formsの設計は素晴らしい。WindowsフォームやWindowsコントロールを扱う上で、とても使いやすい。GUIを開発するならおすすめ。
Microsoftによるオープンソース版の.NET Framework。
.NET Coreよりも昔からあるオープンソースな.NET Framework。
Gtk#などを使うことで、Linux/GTKでもC#でGUIプログラムを開発できる。
ゲームエンジンUnityで使われている。
C#コードの見た目はJavaとよく似通っており、.NET FrameworkのクラスライブラリもJavaのクラスライブラリとよく似ているため、「Microsoft版のJava」であると言われることも多い。
C#やVB.NETでは、main()関数からプログラムが始まるスタイルのプログラミングではなく、イベントに応じて登録したそれぞれの関数をコールバック関数として呼び出すことで、「フォームやボタンから関数が呼び出される」スタイルでプログラミングを行う。
ほとんどのC#コードはVB.NETで同様のコードが書けるため、必要に応じてどちらかを選択する。
Windows関係のチュートリアル。
ブラウザを作るサンプル