超初心者のプログラム入門(C#)

前田稔(Maeda Minoru)の超初心者のプログラム入門(C#)のページへようこそ。

Console Mode & Windows Mode & Game Program も掲載しています。 (^_^;
ページ検索抜粋

前田稔の超初心者のプログラム入門

C# index

Programming Guide
C# Console Mode Program
    C#プログラム紹介
  1. C# Program Guide
    C#はC言語の後継言語で「C言語より半音高い(#)仕様?」の言語です。
  2. テンプレートを使って Hello C#
    C# のテンプレートを使って、WriteLine で "Hello C# Console Programing" と表示します。
  3. Hello C#
    [空のプロジェクト] の作成方法と簡単なプログラムの書き方を学んで下さい。
  4. 変数の値を表示する
    変数に格納されている数値と文字を C# の WriteLine で編集して表示します。
    ☆Windows モードで WriteLine を実行すると出力ウインドウに印字されます。
  5. 日付と時刻を表示する
    本日の日付と現在の時刻を C# の DateTime で取得します。
  6. 数値の計算をする
    変数に格納されている数値の計算結果を C# の WriteLine で表示します。
  7. 変数の値を入れ替える
    二個の変数の値を入れ替えます。代入の基礎です。
  8. 三個の最大値
    三個の変数から最も大きい値を調べて表示します。C# if 命令(比較)の基礎です。
  9. 三個のソート
    三個の変数を昇順(小さい順)に並べ換えます。
  10. 1~100までの合計
    1~100までの合計を表示します。C# for ループの基礎です。

    C#プログラム入門
  11. While Loop
    While Loop(条件ループ)で最大公約数(GCM)を求めます。
  12. 変数を編集して表示する
    String型や int型を c# WriteLine で編集して表示します。
  13. コンソールから入力する
    名前と年齢を C# ReadLine でコンソールから入力して表示します。
  14. C#算術データの型
    C#で使われる代表的な算術データの型と、最小値(MinValue)と最大値(MaxValue)の説明です。
  15. データの編集と表示
    C#でC言語の printf() と同様に、データを編集して表示します。
  16. String を int に変換
    コンソールから入力した文字列(String)を C# の Convert.ToInt32 で int に変換して計算します。
  17. 入力データの最大値
    C# の ReadLine でコンソール入力されたデータの中から最大値を見つけ出して表示します。
  18. 乱数の発生
    C# の new Random() で「0~99」の乱数を発生させます。

    配列
  19. 配列の基礎
    C# で int 型の1次元配列を定義します。
  20. 配列の比較
    C# で配列を比較します。
  21. 二次元配列を定義
    C# で二次元配列を定義します。
  22. 配列のコピー
    short 型の二次元配列を例に、コピーの説明です。
  23. 連想配列
    C# で連想配列を使います。
  24. dynamic にサイズを設定
    C# で二次元配列のサイズを dynamic に設定します。
  25. Object Class の配列
    C# で Object Class の配列を使います。
  26. ArrayList の基礎
    C# の ArrayList で int 型のデータを登録します。
  27. Object Class を登録
    C# で ArrayList に Object Class(Struct) を登録します。
  28. ArrayList にミックスで登録
    C# の ArrayList に複数の型をミックスして登録します。
  29. ListGeneric
    C# の List ジェネリック・クラスで string を使います。

    string
  30. string⇔char[]
    C# の string 型と char 型と char 配列の説明です。
  31. Character Code
    C# の Character Code(Unicode)を調べます。
  32. Substring
    Substring で文字列の一部を取り出します。
    大文字/小文字を区別しないで比較します。
  33. string ⇔ byte
    str(C#の内部コード)を Shift_JIS に変換します。
    Shift_JIS を str(C#の内部コード)に変換します。
  34. カンマで区切られた数字を配列に変換
    C# でカンマで区切られた数字の列を、int 型の配列に格納します。
  35. カンマで区切られた文字列を文字列の配列に変換
    C# でカンマで区切られた string を切り分けて string の配列に変換します。
    配列 ⇔ string 相互に変換します。
  36. 文字列の検索と置換
    string(文字列)の検索と置き換えです。
    大文字/小文字を区別しないで検索します。
    改行コードが邪魔になるとき、取り除きます。
  37. 文字列の反転
    string(文字列)の反転と連続する文字を一個にまとめます。
  38. Command Line 引数
    Command Line から渡された引数を取得します。
    Command Line の引数はストリング配列(string[])です。

    メソッド(関数)
  39. メソッド(method) の定義
    C# でメソッド(メンバー関数) を定義して呼び出します。
  40. 共通領域
    共通領域に Main とメソッド(関数)からアクセスします。
  41. out パラメータを使う
    C# のメソッドのパラメータとして out を使います。
  42. Sort XYZ
    ref(reference) パラメータを使って X,Y,Z をソートします。
  43. 配列を渡してソートする
    C# のメソッド(method)にパラメータとして配列を渡してソートします。
  44. 再起関数の基礎
    C# の再起関数(recursive function) で GCM(最大公約数)を求めます。
  45. 「1~n」までの和を求める再起関数
    C# の再起関数で「1~n」までの和を求めます。
    再起関数から戻るときに処理する基本的な方法です。
  46. 再起関数でソート
    C# で最大20件分のデータ領域(配列)を定義して、再起関数でソートします。
  47. *で囲まれた中を塗りつぶす
    *で囲まれた中を塗りつぶす「C# 再起関数」のプログラムです。
  48. 迷路探索のプログラム
    *で囲まれた迷路を探索してゴールに到達する「C# 再起関数」のプログラムです。
  49. 順列組み合わせを表示
    順列組み合わせを C# の再起関数で求めます。
  50. ペグ・ソリティアを解く
    C# の再起関数でペグ・ソリティアゲームの答えを見つけ出します。

    C# File 入出力
  51. TEXT File の入力
    C# の StreamReader で TEXT File を入力して Console 画面に表示します。
  52. TEXT File の出力
    C# の StreamWriter でTEXT データを File に出力します。
  53. BYTE DATA の出力
    C# の FileStream でバイナリー形式のデータ(BYTE DATA)を File に出力します。
  54. BYTE DATA の入力
    C# の FileStream でバイナリー形式のデータ(BYTE DATA)を入力して編集して表示します。
  55. binary DATA の出力
    C# の FileStream で binary data を出力バイト長を指定して File に保存します。
  56. binary DATA の入力
    C# の FileStream で binary data を入力バイト長を指定して File から読み込みます。
    ファイルをコピーする関数を作成します。
  57. TEXT 形式でデータを出力
    C# の StreamWriter で整数データを TEXT 形式に変換して File に出力します。
  58. TEXT 形式のデータを入力
    C# の StreamReader で TEXT 形式の整数データを入力します。
  59. 文字コードを指定して入力
    文字コードの異なるファイルを入力します。
  60. 文字コードを指定して出力
    文字コードの異なるファイルを作成します。
  61. 文字コードを調べて入力
    ファイルの文字コードを調べて入力します。
  62. ファイル操作
    ファイルの「コピー, 削除, 名前変更, 移動, 存在確認」などを行います。
  63. Folder Copy
    C# でフォルダーを再起的にコピーします。
  64. Folder Delete
    C# でフォルダーを削除します。

    C# Object Class
  65. static メソッドを定義
    C# でメインとは別の Class を作成して、static メソッドを定義します。
  66. gcmlcm Class を定義
    C# 言語で一般的な方法で gcmlcm Class を定義します。
    ☆Main() と gcmlcm Class のファイルを分けて格納してみます。
  67. Partial を使う
    Partial を宣言した Class は一つにまとめられます。
  68. Sample Class
    配列をパラメータとする Object Class のサンプルです。
    ☆C/C++ との違いを学んで下さい。
  69. Class のデータに直接アクセス
    C# で gcmlcm Class 内で定義されているデータ領域に直接アクセスします。
  70. Set,Get アクセッサ
    C# で Set アクセッサ, Get アクセッサを使って Class 内で定義されているデータ領域にアクセスします。
  71. Parameter
    関数に渡したパラメータの値を変更して、元のデータに及ぶ影響を調べます。
  72. Static
    Static 宣言と Object Class の関係です。
  73. Class の継承
    C# で GCM Class を継承して LCM Class を定義します。
  74. メソッドのオーバーライド
    C# で継承した Class のメソッドを override(オーバーライド)します。
  75. Dispose で資源を解放
    IDisposable を継承して、資源を解放します。
  76. 抽象クラスでジャンケンの判定
    抽象クラスを使った、ジャンケンの勝ち負けを調べるクラスです。
  77. XY座標構造体を定義
    C# でXY座標構造体を定義します。
  78. gcmlcm struct を定義
    C# で gcmlcm Class に習って gcmlcm struct を定義します。
  79. class と struct の違い
    C# で class と struct の違いを検証します。
  80. struct をパラメータで渡す
    C# で struct をパラメータとして渡します。
  81. 構造体に初期値を設定
    構造体に初期値を設定します。
  82. 構造体の入れ子
    C# で構造体の中で構造体を使う「構造体の入れ子」です。

    try(トライ)&catch(キャッチ)
  83. try&catch
    try(トライ)&catch(キャッチ)の説明です。
  84. finally
    try & catch & finally を使います。
  85. throw
    throw で例外を投げて、catch() で受け取ります。

    List 連鎖
  86. List 連鎖の基礎
    C# で List 構造をプログラムします。
  87. List を正順(逆順)で印字
    連鎖した List構造を、正順(逆順)に印字します。
  88. List のセルを削除する
    List に登録されているセルを削除します。
  89. List Object Class
    C# で List Object Class を作成します。
  90. ArrayList の連鎖
    C# で ArrayList を連鎖するプログラムです。
  91. Binary Tree の基礎
    C# で Binary Tree の Object Class を作成します。
  92. Car, Cdr で連鎖
    Binary Tree の Car と Cdr を使って連鎖します。
  93. Binary Tree ソート
    Binary Tree で昇順にソートして印字します。

    Generics
  94. generics の基礎
    C# で generics(総称性)を使ったメソッドを定義します。
  95. generics を使った加算メソッド
    C# で generics(総称性)を使って加算メソッドを作成します。
  96. generics を使った比較メソッド
    C# で generics を使って比較メソッドを作成します。
  97. generics を使った Class
    C# で generics を使った Class のサンプルプログラムです。
  98. generics を使って Stack を作成
    C# で generics を使って Stack Class を作成します。

    インターフェース
  99. interface
    interface(インターフェース)の説明です。
  100. interface-2
    複数のインターフェースを継承します。

    スレッド
  101. スレッドを起動
    スレッドの説明と、基本プログラムです。
  102. Thread NowTime Class
    NowTime Class のメソッドを Thread で起動します。
  103. スレッドの中断
    スレッドの実行を中断します。

    XML(ExtensibleMarkupLanguage)
  104. XML Save&Load
    XML ファイルの作成と入力の基礎です。
  105. 成績データ XML
    成績データ XML(簡易データベース)の作成と利用方法です。
  106. XHTML とは
    XHTML は XML に準拠した HTML の後継仕様です。

    Pointer
  107. Pointer を使う
    C# で unsafe の設定をして、int 型の Pointer を使います。
  108. int型を byte型の Pointer に Cast
    C# で byte型の Pointer で int型のデータに Cast して、メモリの内容を16進数でダンプします。
  109. byte型の Pointer で char型を Cast
    C# で byte型の Pointer で char型のデータに Cast して、メモリの内容を16進数でダンプします。
  110. byte型の Pointer で文字を設定
    C# で byte型の Pointer で char型のデータに Cast して、16進数で文字を設定します。
  111. メソッドのパラメータとしてポインタを渡す
    C# で メソッドのパラメータとして int型のポインタを渡して、値を設定して返します。
  112. 配列のポインタ
    ポインタを使って配列にアクセスします。
  113. TEXT の暗号化
    TEXT(string) を暗号化して UTF-8 で書き出します。
  114. TEXT の複合化
    暗号化して書き出された UTF-8 のファイルを複合化します。

    Delegate
  115. Delegate の基礎
    C# の デリゲート(委譲)の基礎です。
  116. Delegate を渡す
    C# で Delegate を引数として渡します。
  117. メソッド名やクラス名を表示
    Delegate で設定されたメソッド名やクラス名を表示します。
  118. メソッドの追加と削除
    移譲先リストに複数のメソッドを「追加/削除」します。
  119. 非同期で呼び出す
    デリゲートを非同期で呼び出します。

    Event
  120. Event の基礎
    C# のイベント(事象)呼び出しの基礎です。
  121. 複数のハンドラを割り当てる
    C# で1個のイベントに複数のハンドラを割り当てます。
  122. event 呼び出しでパラメータを渡す
    C# でイベントを呼び出すときにパラメータを渡します。

    Proxy
  123. Proxy の基礎
    C# のプロキシ(代理/委任)の基礎です。
  124. 複数メソッドを定義
    プロキシで複数のメソッドを定義します。

    DLL(Dynamic Link Library)
    ☆C/C++⇒C# DLL の記述があるページは、C/C++ から DLL を呼び出すページにリンクしています。
  125. C# Hello DLL
    "C# Hello DLL" を印字する Class を登録した DLL を作成します。
    ☆C/C++⇒C# DLL
  126. C# GcmLcm.dll
    GCM と LCM を計算する Class を登録した DLL を作成します。
    ☆C/C++⇒C# DLL
  127. こよみ DLL
    年月日を入力すると、曜日と経過日数を計算する Class を登録した DLL を提供します。
  128. C#⇒C/C++ Hello.dll
    C# から C/C++ でクラスを登録した Hello.dll を呼び出します。
  129. C#⇒C++/GcmDLL
    C# から C/C++ でクラスを登録した GclLcm.dll を呼び出します。
  130. C#⇒DLL(HelloMsg)
    C# から C/C++ で HelloMsg 関数を登録した DLL を呼び出します。
  131. C#⇒DLL(GCM,LCM)
    C# から C/C++ で GCM,LCM 関数を登録した DLL を呼び出します。
  132. C#⇒DLL(CharMsg)
    C# から C/C++ のポインター引数を持つ DLL の関数 CharMsg(wchar_t*) を呼び出します。
  133. DLL Command
    コマンドプロンプトから C# の DLL を作成します。
  134. Math Library
    AddClass と MultiplyClass を登録した C# の DLL を作成します。

    Console の演習問題
  135. ボーリングのブービー
    5人のボーリングの成績からブービー(booby)の点数を表示します。
  136. 分数の計算
    分数の加減算をして、結果を分数で表示します。
  137. 平方根の計算
    平方根の計算には「ニュートン・ラプソン」の方法と言う有名な解法があります。
  138. 正多角形で円周率を計算
    円に内接する正多角形を用いて円周率を計算します。
  139. 素因数に分解する
    整数nを素因数に分解して表示します。
  140. 約数を洗い出す
    整数nを割り切る全ての約数を洗い出して表示します。
  141. 素数の判定
    コンソールから入力した値が、素数か合成数かを判定します。
  142. 素数の一覧を表示する
    エラトステネスのふるいで 1000 以下の素数を求めて表示します。
  143. 偶数の魔方陣を作成する
    4,8,16, ...などの偶数の魔方陣を作成します。
  144. 奇数の魔方陣を作成する
    3,5,7, ...などの奇数の魔方陣を作成します。
  145. 年月日を入力して、曜日と経過日数を表示
    C#の Console.ReadLine で年月日を入力して、曜日と経過日数を表示します。
  146. 2倍すると最後尾の数字が先頭に
    ある長い数列があり、2倍すると最後尾の数字(8)が先頭に移動します。
    自前で作成した C# の List Object Class を使って、元の数列を求めて表示して下さい。
  147. C#で約4000桁の円周率を求めて表示してみましょう。
    コンピュータの実行時間さえ許されるならば、ほんの少し修正するだけで10万桁ぐらいは計算できるかも知れません。 (^_^;
    1. 円周率の話と実行結果
    2. データの形式
    3. 4000桁の値を表示
    4. 円周率を求める公式
    5. Add メソッド
C# Windows Program
    Form(Window)を表示
  1. 自動生成を使って Form を作成
    C# の自動生成を使って Form(ウインドウ) を作成します。
  2. Form を作成する
    C# で空のプロジェクトから Form(Window) を表示します。
  3. 背景色とキャプションを設定
    Window の背景色とキャプションの設定です。
  4. カレンダーを表示する
    C# の自動生成を使って、カレンダーを表示するプログラムを作成します。
    内幕を知らなければ「すごい」と関心されることでしょう。
    ☆[デザイン]と[ツールボックス]の基本的な使い方です。
  5. カレンダーを表示する
    C# で空のプロジェクトから、カレンダーを表示するプログラムを作成します。
    ☆InitializeComponent() メソッドのソースコードが追加されます。

    Form に描画
  6. 線を描画する
    C# の自動生成を使って、線を描画します。
  7. Line を描画する
    空のプロジェクトから DrawLine で線を描画します。
  8. 図形を描画する
    「線(DrawLine), 矩形(DrawRectangle), 楕円/円(DrawEllipse)」を描画します。
  9. 三角形を描画する
    C# の DrawLine を繰り返して三角形を描画します。
    オーバーライドを使います。
  10. 大きな文字を表示する
    C# の自動生成を使って、ウインドウに大きな文字を表示します。
  11. 大きな文字を表示する
    空のプロジェクトから、ウインドウに大きな文字を表示します。
  12. Goban
    図形を使って碁盤を表示します。

    マウス
  13. マウスのクリックを検出する
    マウスのクリックを検出して MessageBox を表示します。
    左クリック・右クリックの識別方法も説明します。
  14. マウスのクリックで終了確認
    マウスがクリックされると、終了確認の MessageBox を表示します。
    ☆一般的な終了確認の方法を紹介します。
  15. Click Position
    マウスがクリックされた座標をキャプションに表示します。
  16. Beep 音を鳴らす
    マウスのクリックで Beep 音を鳴らす。
  17. マウスをキャプチャする
    マウスをキャプチャして、移動中の座標を表示します。

    キー
  18. ESC キーで終了
    ESC キーが押されるとプログラムを終了します。
  19. キー操作で幅と高さを変更する
    矢印キーでウインドウの幅と高さを変更します。
    ☆Console.WriteLine() で「出力ウインドウ」に印字します。
  20. キー操作で画像を移動する
    矢印キーで上下左右に画像を移動します。
    矢印キーに加えて、Shift+(ADWX)でも操作出来るようにプログラムします。
    画像を描画する IMAGE Class を使ってみました。

    Image の描画
    単純な画像の描画は キー操作で画像を移動する の class IMAGE を推奨します。
    画像の切り分けは カードを描画 の class Card を推奨します。

  21. 画像ファイルを描画する
    GIF 画像をファイルから直接入力して、C# の DrawImage で描画します。
    Bitmap に画像をロードして、Bitmap から描画します。
  22. リソースで取り込んだイメージを描画する
    C# で GIF 画像をリソースとして取り込んで、DrawImage で描画します。
  23. Sprite を切り出す
    大きな画像から Sprite を切り出して描画します。
  24. Sprite を切り替える
    マウスのクリックで Sprite を切り替えます。
  25. 画像を切り分ける
    Bitmap の Graphics を取得して画像を切り分けます。
  26. 画像描画 etc
    画像を「拡大縮小・反転・回転・平行四辺形の変形」などで描画します。
  27. 専用 icon を設定
    Window(Form)に専用の icon を設定します。
  28. ImageList の基礎
    Image List に画像を登録します。
  29. クリックで切り替える
    Dog1.bmp ~ Dog5.bmp をマウスのクリックで画像を切り替えます。
  30. 画像を分割して登録
    16枚の画像を切り分けて Imagelist に登録します。
  31. 美人のアニメーション
    画像を切り分けてタイマー設定でアニメーションします。

    Tool の使い方
      Button
    1. ボタンを貼り付ける
      自動生成のプロジェクトで ToolBox からボタンを貼り付けます。
      ☆イベント(稲妻アイコン)の基本的な使い方です。
    2. ToolBox からボタンを貼り付ける
      空から作成したプロジェクトで ToolBox からボタンを貼り付けます。
    3. 直接ボタンを貼り付ける
      ツールボックスを使わないで、直接 Form にボタンを貼り付けます。

      Text Box
    4. TextBox
      C# の自動生成を使って TextBox, Label, Button を貼り付けます。
    5. TextBox と Button を貼り付ける
      空のプロジェクトで ToolBox からボタンとテキストボックスを貼り付けます。
    6. 直接 TextBox と Button を貼り付ける
      ツールボックスを使わないで、直接 TextBox と Button を貼り付けます。
    7. 16進数+文字で TextBox に表示する
      string で定義した文字列を16進数+文字で TextBox に表示します。
    8. 画像ファイルの名前を TextBox から入力
      Button をクリックすると TextBox で指定した画像ファイルを描画します。

      Rich Text Box
    9. RichTextBox
      C# の自動生成を使って RichTextBox を貼り付けます。
    10. Rich Font
      RichTextBox にフォントを設定します。
    11. RichTextBox
      空から作成したプロジェクトに RichTextBox を貼り付けます。
      KeyWord を検索して、色やフォントを設定します。
    12. RichSaveLoad
      RichTextBox の状態を Save, Load します。
    13. Text File
      RichTextBox にファイルからテキストデータを入力/保存します。
    14. Replace
      RichTextBox に文字列を挿入します。
      RichTextBox で、文字の置換です。
      RichTextBox で、文字列の置換です。
    15. Delete
      RichTextBox から文字列を削除します。
      RichTextBox から行を削除します。
    16. Rich Contex
      RichTextBox に Contex Menu を設定します。
      ☆Text Editor に必要なメソッドを抜粋します。
    17. Rich KeyDown
      RichTextBox で Function キーを使います。
      Function キーで Keyword の選択と検索を行います。
    18. Key Search
      RichTextBox を KeyWord で検索します。
      RichTextBox のダブルクリックでメソッドを呼び出します。
    19. Form Size
      ウインドウサイズの拡大/縮小に対応します。

      Picture Box
    20. PictureBox に画像を描画
      ウインドウに PictureBox を貼り付けて画像を描画します。
    21. PictureBox の画像を切り替える
      ToolBox を使わずに PictureBox と Button を貼り付けて、二枚の画像を切り替えます。
    22. PictureBox の画像の上から図形を描く
      ToolBox を使わずに PictureBox を貼り付けて、PaintHandler で画像の上から図形を描きます。
    23. MyHandler() で PictureBox に図形を描く
      ウインドウに PictureBox を貼り付けて、MyHandler() で図形を描きます。
    24. MyHandler() で PictureBox に Text を表示
      ウインドウに PictureBox を貼り付けて、MyHandler() で Text を表示します。
    25. button の背景に画像を描く
      Button の背景に画像を描きます。

      Common Dialog
    26. Open File Dialog
      自動生成で Open File Dialog からファイルを選択します。
    27. Color Dialog
      自動生成で ColorDialog から TextBox の背景色を選択します。
    28. Open File Dialog
      空のプロジェクトから Open File Dialog を組み込みます。
    29. Save File Dialog
      空のプロジェクトから Save File Dialog を組み込みます。
    30. Folder Browser Dialog
      FolderBrowserDialog で Folder を選択します。
    31. Font Dialog
      FontDialog から選択したフォントと色で表示します。
    32. Color Dialog
      ColorDialog から TextBox の背景色を選択します。

      メニューの設定
    33. ToolBox からメニューを貼り付ける
      ToolBox からメニューを貼り付けます。
    34. メニューを設定する
      ToolBox を使わずにプログラムの終了とバージョン情報のメニューを設定します。
    35. 画像ファイルを選択
      画像ファイルを選択して描画するメニューを設定します。
      ☆Single Thread Apartment(STA)モードに設定します。
    36. メニューにアイコンを設定
      メニューバーに Icon を設定します。
    37. ToolStrip(ToolBar)を設定する
      クリック一発で起動する ToolStrip(ToolBar)を設定します。
    38. ToolStripContainer を設定する
      ToolStrip をウインドウの左右上下に移動出来るようになります。
    39. ContextMenu を設定する
      マウスの右クリックで起動するメニューを設定します。

      Timer
    40. タイマ割り込みでカウントする
      自動生成のプロジェクトで Timer 割り込みでカウントします。
    41. タイマ割り込みでカウントする
      空のプロジェクトから Timer を貼り付けてカウントします。
    42. 直接 Timer を貼り付ける
      ツールボックスを使わないで、直接 Timer を貼り付けます。

      List Box & List View
    43. ListBox に登録する
      C# で String で定義したアイテムを ListBox に登録します。
    44. ListBox に TEXT を表示する
      ソースファイルを入力して ListBox に表示します。
    45. 選択された行を取得する
      SelectedIndexChanged プロパティで選択された行を取得します。
    46. ListBox Directory
      C# で Directory を検索して、ファイル一覧を ListBox に表示します。
    47. ListView に登録する
      C# で ListView にアイテムを登録します。
    48. アイテム名の変更
      C# で ListView に登録したアイテムの名前を変更します。
    49. ListView Icon
      ListView にアイコンを設定します。
    50. ListView に Column を設定する
      ListView に Column を設定します。
    51. 表示の切り替え
      ListView の表示形式を切り替えます。
    52. ListView Item 選択
      ListView から Item を選択して MessageBox に表示します。
      シングル/ダブルの検出方法も説明します。
    53. ListView Directory
      Directory を検索して「"名前", "更新日付", "サイズ"」を表示します。
    54. ListView Directory Icon
      C# で Directory を検索してアイコンを付けて表示します。
    55. ListView Sort
      ListView のカラムクリックでアイテムをソートします。

      Tree View
    56. TreeView に登録する
      C# で TreeView にノードを登録します。
    57. TreeView に階層で登録
      C# で TreeView にノードを階層構造で登録します。
      TreeView に登録したノードを削除します。
    58. レベル指定の Data を TreeView に登録
      string で定義したレベル指定の Data を TreeView に登録します。
    59. Struct を TreeView に登録
      string で定義した構造体 を TreeView に登録します。
      ★原因不明の現象です。
    60. TreeView Click
      C# で TreeView のノードを右クリックすると MessageBox を表示します。
    61. TreeView 親ノード
      TreeView でクリックされたノードの親を調べます。
      Command Line からコンパイル出来る形式で掲載します。
    62. 子・孫を再起でトレース
      TreeView でクリックされたノードの子・孫を再起でトレースします。
    63. Drive Icon
      C# でドライブを検索して TreeView に登録します。
    64. Expand
      TreeView のドライブをクリックするとノードを展開します。

      Radio Button
    65. Radio Button
      Radio Button の説明です。
    66. Radio Button & GroupBox
      Radio Button を GroupBox で囲みます。

      Tab Control
    67. TabControl
      C# の自動生成を使って TabControl を貼り付けます。
    68. TabPage 番号を表示
      TabPage のクリックで RichTextBox にページ番号を表示します。

      Split
    69. SplitContainer
      C# の SplitContainer でウインドウを分割します。
    70. FolderView
      C# で TreeView と ListView を並べてフォルダを表示します。
    71. Handler
      C# で作成した File Handler の原型です。
C# CLI Project
CLI の Project は *.cs ファイル一本で動きます。
    CLI Console Mode
  1. CLI Guid
    Command Line から CLI Mode のプログラムをコンパイルして実行します。
  2. コンソールから入力する
    CLI で ReadLine を使って TEXT を入力します。
  3. 配列の基礎
    CLI で int 型の1次元配列を定義します。
  4. 二次元配列
    CLI で2次元配列を定義します。
  5. 関数を定義
    CLI でメソッド(メンバー関数) を定義して呼び出します。
  6. Sort XYZ
    ref パラメータで「X,Y,Z」を昇順に並べます。
  7. Text 入出力
    CLI で Text Data の入力と出力をします。
  8. ArrayList を使った二次元配列
    ArrayList を使って、二次元の String 配列を定義します。
  9. ArrayList の配列
    ArrayList の配列(配列の要素が ArrayList)を使います。
  10. gcm Class を定義
    C# 言語で一般的な gcm Class を定義します。
  11. Class ファイルを分ける
    Main() メソッドと Object Class のファイルを分けます。
  12. 曜日と日数の計算
    事件が発生した日付をタイプして、曜日と本日までの経過日数を計算します。

    CLI Windows Mode
  13. Windows を表示
    Command Line から Windows プログラムを実行します。
  14. 背景色とキャプションを設定
    CLI のプロジェクトで背景色とキャプションを設定します。
  15. 専用アイコンを設定
    プログラムを起動すると、専用のアイコンがフォームの左上に表示されます。
  16. マウスのクリック座標を印字
    マウスの左/右クリックを検出して、座標を印字します。
  17. Line を描画する
    DrawLine で線を描画します。
  18. 三角形を描画する
    DrawLine を繰り返して三角形を描画します。
  19. 大きな文字を表示する
    ウインドウに大きな文字を表示します。
  20. 画像ファイルを描画する
    BMP 画像をファイルから直接入力して DrawImage で描画します。
  21. 画像ファイルを選択
    画像ファイルを選択して描画するメニューを設定します。
  22. Sprite を切り替える
    マウスのクリックで Sprite を切り替えます。
  23. TextBox と Button を貼り付ける
    ボタンをクリックするとメッセージを取得して表示します。
  24. Ritch Text Box
    CLI で Ritch Text Box を貼り付けます。
  25. タイマー割り込み
    タイマー割り込みでカウンターを表示します。
  26. Counter Class
    カウンタークラスで、数字の画像を切り分けてカウンターを表示します。
  27. CLI Windows で「じゃんけんゲーム」を作成する。
    1. 画像の確認
      「じゃんけんゲーム」で使用する画像を確認します。
    2. グー・チョキ・パーを選択
      ラジオボタンで「グー・チョキ・パー」を選択します。
    3. 得点を計算
      得点を計算して TextBox に印字します。
      コンピュータは乱数で手を決めます。
    4. じゃんけんゲームの完成
      コンピュータの思考関数を作成してゲームの完成です。
    5. じゃんけん Class
      じゃんけんゲームに白番のクラスファイル(W_Sumaho.cs) を組み込みます。
    6. じゃんけんバトルゲーム
      プログラム同士が対戦する「じゃんけんバトルゲーム」を作成します。
C# Program Note
    C# Multi Windows
      MessageBox
    1. MessageBox を表示する
      Console Mode で「MessageBox を使って終了確認」を行います。
    2. int 型を MessageBox に表示する
      Console Mode で int 型を文字列に変換して MessageBox に表示します。

      Form2
    3. Form-2
      C# で新しいフォーム(Form2)を追加します。
    4. Multi Window Animetion
      Button をクリックすると、次々とアニメーションウインドウが開きます。
    5. Form Size(Max & Min)
      Button のクリックで、アニメページに切り替えます。
    6. Page Navigate
      Button のクリックで、ページからページに Navigate します。

      DialogBox
    7. DialogBox
      C# で DialogBox を表示します。
    8. DialogText
      DialogBox からタイプした文字列を取得します。
    9. ModeLess Dialog
      ModeLess Dialog の基礎です。

      Windows Thread
    10. Thread Count
      Thread で起動したタスクでカウントします。
    11. Thread Class
      Class で Thread のメソッドを定義します。
    12. Thread Join
      Thread を配列で定義して、終了を待ち合せます。
    13. アニメーション&Thread
      アニメーションしながら Thread で時刻を取得します。
    14. Thread Animation
      Thread でアニメーションします。

    Sound
    1. WAVE を演奏
      SoundPlayer で WAVE を演奏します。
    2. MIDI を演奏
      MCI(Media Control Interface)で MIDI を演奏します。
    3. MP3 を演奏
      MediaPlayer で MP3 を演奏します。

    C# Network Program
    1. Web ページをダウンロード
      C# で URL に接続して Web ページを TEXT 形式でダウンロードします。
    2. Web ページを TEXT 形式で表示
      C# で URL に接続して Web ページを TEXT 形式で TextBox に表示します。
    3. FTP UP_Load
      FTP を使って Web Page を UP_Load します。
    4. Server と Client で通信
      C# で TCP(Transmission Control Protocol) Server に Client から接続します。
    5. 現在時刻を知らせる
      C# で Server を常駐させて、現在時刻を Client に知らせます。
    6. タイマ割り込みで、接続要求をセンスする
      C# でタイマ割り込みを使って Client からの接続要求をセンスします。
    7. スレッドで Message を取得する
      アニメーションしながらスレッドで Message を取得します。
    8. IPアドレスを指定して送信/受信
      IPアドレスを指定してメッセージを相互に送信/受信します。
    9. スレッドでメッセージを受信
      スレッドを使ったメッセージの受信と、IPアドレスを指定したメッセージの送信です。

    C# その他
    1. Command Line
      Command Line で指定されたパラメータを受け取ります。
    2. アプリケーションを起動する
      C# から他のアプリケーションを起動します。
      ファイルを関連付けられたアプリケーションから開きます。
    3. ホームページを開く
      ボタンのクリックで URL を参照してホームページを開きます。
    4. Clipboard Text
      C# で Clipboard を使って、文字列を Copy&Paste します。
    5. Clipboard Image
      C# で Clipboard を使って、イメージを Copy&Paste します。
    6. Clipboard Files
      C# で Clipboard を使って、ファイルリストを Copy&Paste します。
      Windows Explorer と相互に Copy&Paste することが出来ます。
    7. Clip Text&Image
      Clipboard に文字列とイメージを一緒に格納します。
    8. Drag&Drop
      ListBox を使った Drag&Drop の基礎です。
    9. Drag&Drop View
      ListView には Drag&Drop 専用の機能が備わっています。
    10. エクスプローラと Drag&Drop
      Windows Explorer と Drag&Drop します。
    11. 「ちらつき」を無くす-1
      画像を切り替えてアニメーションしたときの、チラツキを無くす方法です。
    12. 「ちらつき」を無くす-2
      画像を切り替えてアニメーションしたときの、チラツキを無くす方法です。
    13. Double Buffer で描画する
      Double Buffer を使って「ちらつき」を無くしてアニメーションします。
    14. Special Folder
      Windows の特殊フォルダーを調べます。
    15. Draw で書いたイメージをファイルに出力
      BMP 画像領域にカラーで文字を書き、gif 形式でファイルに書き出します。
    16. Form(ウインドウ) を直接生成する
      Form Object Class を直接生成してウインドウを表示します。
    17. Main() のクラスに Form を継承する
      Main() メソッドが定義されているクラスに Form を継承してウインドウを表示します。
    18. Form を継承した Class を使う
      Form を継承した新しい Class を使ってウインドウを表示します。
C# Game Program 入門
    三山くずしゲーム
  1. 石の画像を描画
    ゲームに使う石の画像を描画します。
  2. クリック座標
    マウスがクリックされた座標から、山と石を計算します。
  3. Alpha 版
    三山くずしゲームの Alpha 版です。

    カードゲームに挑戦
  4. カードを描画
    格子状にカードを並べた画像から Sprite を切り分けて描画します。
  5. カードをシャッフル
    カードをシャッフルして、並べて描画します。
  6. カードを反転
    カードを重ねたり、反転して描画します。

    シューティングゲームに挑戦
  7. キーをセンス
    リアルタイムにキーをセンスして画像を動かします。
  8. 背景のスクロール
    ゲームの背景画像をスクロールします。
  9. 弾丸を発射
    Space キーで弾丸を発射します。
  10. 弾丸を一括管理
    シューティングゲームで飛び交う弾丸を一括管理します。
  11. アニメーションクラス
    高精度タイマでアニメーションを行うクラスを作成します。
  12. 敵に向かって連射
    弾丸を敵に向かって連射します。

    ナンプレ(数属)ゲーム
  13. ナンプレ・ガイド
    Numberplace(ナンバープレイス)ゲームガイドです。
  14. GamePlay
    レベル(好み)に合わせてゲームをプレイします。
  15. Image
    ナンバープレイスで使用する Image 描画の基本です。
  16. Layout
    メニューを設定してゲーム画面を描画します。
  17. Menu
    NewGame メニューを実装して、プレイが出来るようにします。
  18. Alpha 版
    残りのメニューを実装して、α版の完成です。
  19. Alpha 版の実行
    α版をダウンロードして実行します。
  20. Numberplace
    Numberplace(ナンバープレイス)の完成です。
  21. 世界一数独
    世界一難しい数独の問題を解きます。

    オセロゲーム
  22. 挟んだ駒を裏返す
    マウスで「黒,白」の駒を置いて、挟んだ駒を裏返します。
  23. プラットホーム
    オセロゲームのプラットホームの完成です。
  24. Final 関数
    最も面白い Final 関数のテストです。
  25. コンピュータがプレイする
    コンピュータがプレイする関数を追加します。
  26. Base Project
    AIを組み込む前のベースプロジェクトです。
  27. Learnning
    コンピュータ同士で対戦した結果の学習準備です。
  28. Osero Game
    AIを組み込んだオセロゲームです。

    囲碁ソフト作成
  29. 碁盤に石を置く
    碁盤を表示して、石を置きます。
  30. クリックで石を置く
    マウスのクリックで石を置きます。
  31. 打ち上げと禁じ手
    石の打ち上げと禁じ手の判定です。
  32. SGF ファイルを入力
    SGF ファイルを入力して、出題図を表示します。
  33. 棋譜ツリー
    SGF ファイルの棋譜ツリーと CELL 構造体の説明です。
  34. 棋譜の再生
    SGF ファイルを入力して棋譜を再生します。
  35. 棋譜の保存
    ツリー構造に展開した棋譜を SGF ファイルに保存します。
  36. 棋譜の入力
    マウスのクリックで棋譜を入力します。
  37. 分岐の入力
    分岐手順を入力します。
  38. RadioButton
    主要な操作は RadioButton で制御します。
  39. Version 4
    SGF Version 4(FF[4]) に対応します。
  40. LB tag をプログラム
    SGF Version 4 に対応して LB tag をプログラムします。
  41. SGF Header
    SGF Header の編集をサポートします。

    三目並べゲーム
  42. ゲームの手を記録
    Cell を連鎖して三目並べゲームの手を記録します。
  43. 三目並べの学習機能
    C# で ArrayList を使って三目並べゲームを学習します。
  44. 三目並べの自動学習
    ArrayList を使って三目並べゲームの手を自動的に学習します。
  45. 三目並べゲーム
    Windows Mode で三目並べゲームを作成します。
  46. 三目並べゲーム-2
    ディープラーニングを使った三目並べゲームです。
  47. 三目並べゲーム-3
    ディープラーニングと常識的な手を打つ関数を組み合わせます。
C# Application Program
    Screen Capture
  1. Screen Capture
    Screen を Capture して画像ファイル(gif 形式)で保存します。

    Text Editor の基礎
  2. Text Editor の基礎
    C# で作成する Text Editor の基礎です。
  3. メニューをプログラム
    Text Editor のメニューをプログラムします。
  4. XML に保存
    Editor の設定情報を XML に Save, Load します。
  5. Command Line
    Command Line からファイル名を受け取ります。

    Text Editor を開発
  6. Text Editor の開発
    C# で実用的な Text Editor を開発します。
  7. ファイル入出力
    メニューの設定とファイルの入出力です。
  8. Contex Menu
    Contex Menu を設定して編集メニューをコーディングします。
  9. XML に保存
    Editor の設定情報をXML に保存します。
  10. 検索機能
    「Search/Replace」メニューを設定します。
  11. Single File Editor
    キー操作を設定して Single File Editor の完成です。
  12. TabPage Change
    複数ファイルをオープンして Tab Page で切り替えます。
  13. FileClass
    FileClass を MultiEditor に対応して再編集します。
  14. Multi File Editor
    ファイル比較を設定します。

    Binary Viewer
  15. Binary Viewer のレイアウト
    Binary Viewer のウインドウをレイアウトします。
  16. TextBox に16進+文字で表示する
    このプログラムを自身を入力して TextBox に16進+文字で表示します。
  17. メニューを処理する
    メニューを処理するイベントハンドラを作成します。
  18. Edit Object Class
    Edit Object Class を使った Binary Viewer です。
  19. utf-16, utf-8
    utf-16, utf-8, Shift_JIS に対応します。

    Binary Editor
    utf-16, utf-8, Shift_JIS に対応します。
  20. Binary Editor のメニューを設定
    Binary Viewer をベースに Binary Editor を作成します。
  21. 入出力と描画の制御
    ブロックの入出力と描画の制御を行います。
  22. ページを修正する
    「修正(&U)メニュー」を実装します。
  23. ベータ版の完成です
    Binary Editor ベータ版の完成です。

    File Handler
  24. File Handler
    File Handler の原型プロジェクトを作成します。
  25. Layout
    File Handler のレイアウトを整えます。
  26. Handler Menu
    File Handler に Menu を設定します。
    Windows Explorer を起動してファイルを貼り付けることが出来ます。
  27. コピーを実装
    File Handler にコピー機能と削除機能を実装します。
    Windows Explorer と相互に Copy&Paste することが出来ます。
  28. 表示メニューを実装
    特殊フォルダや ListView の「表示切り替えメニュー」を実装します。
  29. Private Menu
    Contex Menu にプライベートメニューを追加します。
    ListView の名前変更(フォルダ名やファイル名の変更)を実装します。
  30. File Handler Version 1.0
    ListView のカラムをクリックすると昇順/降順に並べ替えます。
    一応これで Version 1.0 の完成です。

    Memo Application
  31. Memo Guide
    Memo2 アプリケーションのガイドです。
  32. Memo Read File
    Memo のデーターファイルを入力して ArrayList に格納します。
  33. Layout
    ツールボックスから Tool を貼り付けて Layout を整えます。
  34. Memo Tree View
    Memo アプリのデーターファイルを Tree View に登録します。
  35. RichTextBox
    TreeView で選択された node の Text Data を RichTextBox に表示します。
  36. Menu を登録
    Memo2 のメニューを登録します。
  37. 編集メニューを実装
    RichTextBox を編集する Edit Menu を実装します。
  38. Tree Menu を実装
    TreeView を操作する Tree Menu を実装します。
  39. File Menu を実装
    ファイルを操作する File Menu を実装します。
  40. Search Menu を実装
    TEXT を検索する Search Menu を実装します。
  41. ToolStrip を実装
    ToolStrip に Menu を実装します。
    Function Key に Text 編集を実装します。
    RichTextBox でダブルクリックを検出します。
  42. User Menu を実装
    フォントやパスワードを設定する User Menu を実装します。
  43. Memo2 α版
    Memo2 α版を作成します。
  44. Memo2 β版
    Memo2 β版を作成します。
  45. Dialog Input
    Dialog Box から Text(検索キー, 置換文字列) を入力します。
画像認識
    画像認識 C# API
  1. Image Guid
    C#で画像解析を行うために必要な知識です。
  2. Face Image Size
    顔の画像をサイズを整えて保存します。
  3. Color ⇒ Grayscale
    カラー画像をグレースケールに変換します。
  4. Color ⇒ 二値画像
    カラー画像を二値画像に変換します。
  5. Delete Color
    カラー画像から選択された色(背景色など)を削除します。
  6. Select Color
    カラー画像から選択された色を抽出します。
  7. Color ⇒ エッジ画像
    ピクセルの濃淡の違いを検出して、エッジ画像を作成します。
  8. Line をピックアップ
    エッジを検出して作成した二値画像から Line をピックアップします。

    画像認識 Win32 API
  9. BitBlt
    Win32 API の BitBlt() 関数を使って描画します。
  10. GetDIBits
    Win32 API の GetDIBits でピクセルデータを取得します。
  11. Win32 3原色
    Win32 API を使って、3原色を個々に設定して描画します。
  12. W32 Color ⇒ Gray
    Win32 API を使ってグレースケールに変換します。
  13. W32 Color ⇒ 二値画像
    Win32 API を使って二値画像に変換します。
  14. 画像のエッジを検出
    Win32 API で、ピクセルの濃淡の違いを検出してエッジ画像を作成します。
  15. Mark Rect
    Win32 API で、顔の画像に Land Mark を検出する矩形を重ねます。
  16. Land Mark
    Win32 API で、検索範囲を矩形で設定して Land Mark を検出します。
  17. 顔画像の識別
    Win32 API で、Land Mark を使って顔の画像を識別します。
  18. Face
    Store App(UWP) で静止画から顔を見つけます。

検索抜粋

超初心者のプログラム入門(C#)

超初心者のプログラム入門(C/C++)