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

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

Console Mode から DirectX まで解説しています。 (^_^;
C# Windows8(Store App), C# Windows10(Store App) のプログラムも掲載しています。

前田稔(Maeda Minoru)の超初心者のプログラム入門

C# Program INDEX

Programming Guide

C# Console Mode Program

    C#プログラム紹介

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

    C#プログラム入門

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

    配列

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

    string

  27. string⇔char[]
    C# の string 型と char 型と char 配列の説明です。
  28. カンマで区切られた数字を配列に変換
    C# でカンマで区切られた数字の列を、int 型に変換して配列に格納します。
  29. カンマで区切られた数字を float に変換
    C# でカンマで区切られた数字の列を、float 型に変換して配列に格納します。
    Split() で string を切り分けます。
  30. Character Code
    C# の Character Code(Unicode)を調べます。
  31. 文字列の検索と置換
    string(文字列)の検索と置き換えです。
  32. Command Line 引数
    Command Line から渡された引数を取得します。
    Command Line の引数はストリング配列(string[])です。

    メソッド(関数)

  33. メソッド(method) の定義
    C# でメソッド(メンバー関数) を定義して呼び出します。
  34. 共通領域
    共通領域に Main と method からアクセスします。
  35. out パラメータを使う
    C# のメソッドのパラメータとして out を使います。
  36. Sort XYZ
    ref(reference) パラメータを使って X,Y,Z をソートします。
  37. 配列を渡してソートする
    C# のメソッド(method)にパラメータとして配列を渡してソートします。

    再起関数

  38. 再起関数の基礎
    C# の再起関数(recursive function) で GCM(最大公約数)を求めます。
  39. 「1~n」までの和を求める再起関数
    C# の再起関数で「1~n」までの和を求めます。
    再起関数から戻るときに処理する基本的な方法です。
  40. 再起関数でソート
    C# で最大20件分のデータ領域(配列)を定義して、再起関数でソートします。
  41. *で囲まれた中を塗りつぶす
    *で囲まれた中を塗りつぶす「C# 再起関数」のプログラムです。
  42. 迷路探索のプログラム
    *で囲まれた迷路を探索してゴールに到達する「C# 再起関数」のプログラムです。
  43. 順列組み合わせを表示
    順列組み合わせを C# の再起関数で求めます。
  44. ペグ・ソリティアを解く
    C# の再起関数でペグ・ソリティアゲームの答えを見つけ出します。

    C# File 入出力

  45. TEXT File の入力
    C# の StreamReader で TEXT File を入力して Console 画面に表示します。
  46. TEXT File の出力
    C# の StreamWriter でTEXT データを File に出力します。
  47. BYTE DATA の出力
    C# の FileStream でバイナリー形式のデータ(BYTE DATA)を File に出力します。
  48. BYTE DATA の入力
    C# の FileStream でバイナリー形式のデータ(BYTE DATA)を入力して編集して表示します。
  49. binary DATA の出力
    C# の FileStream で binary data を出力バイト長を指定して File に保存します。
  50. binary DATA の入力
    C# の FileStream で binary data を入力バイト長を指定して File から読み込みます。
    ファイルをコピーする関数を作成します。
  51. TEXT 形式でデータを出力
    C# の StreamWriter で整数データを TEXT 形式に変換して File に出力します。
  52. TEXT 形式のデータを入力
    C# の StreamReader で TEXT 形式の整数データを入力します。
  53. ファイル操作
    C# でファイルの「コピー, 削除, 名前変更, 移動」などを行います。
  54. Folder Copy
    C# でフォルダーを再起的にコピーします。
  55. Folder Delete
    C# でフォルダーを削除します。

    C# Object Class

  56. static メソッドを定義
    C# でメインとは別の Class を作成して、static メソッドを定義します。
  57. gcmlcm Class を定義
    C# 言語で一般的な方法で gcmlcm Class を定義します。
    ☆Main() と gcmlcm Class のファイルを分けて格納してみます。
  58. Partial を使う
    Partial を宣言した Class は一つにまとめられます。
  59. Sample Class
    配列をパラメータとする Object Class のサンプルです。
    ☆C/C++ との違いを学んで下さい。
  60. Class のデータに直接アクセス
    C# で gcmlcm Class 内で定義されているデータ領域に直接アクセスします。
  61. Set,Get アクセッサ
    C# で Set アクセッサ, Get アクセッサを使って Class 内で定義されているデータ領域にアクセスします。
  62. Static
    Static 宣言と Object Class の関係です。
  63. Class の継承
    C# で GCM Class を継承して LCM Class を定義します。
  64. メソッドのオーバーライド
    C# で継承した Class のメソッドを override(オーバーライド)します。
  65. Dispose で資源を解放
    IDisposable を継承して、資源を解放します。
  66. 抽象クラスでジャンケンの判定
    抽象クラスを使った、ジャンケンの勝ち負けを調べるクラスです。

    struct(構造体)

  67. XY座標構造体を定義
    C# でXY座標構造体を定義します。
  68. gcmlcm struct を定義
    C# で gcmlcm Class に習って gcmlcm struct を定義します。
  69. class と struct の違い
    C# で class と struct の違いを検証します。
  70. struct をパラメータで渡す
    C# で struct をパラメータとして渡します。
  71. 構造体に初期値を設定
    構造体に初期値を設定します。
  72. 構造体の入れ子
    C# で構造体の中で構造体を使う「構造体の入れ子」です。

    try(トライ)&catch(キャッチ)

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

    List処理

  76. List の基礎
    C# で List 構造をプログラムします。
  77. List を正順(逆順)で印字
    連鎖した List構造を、正順(逆順)に印字します。
  78. List のセルを削除する
    List に登録されているセルを削除します。
  79. List Object Class
    C# で List Object Class を作成します。

    Binary Tree

  80. Binary Tree の基礎
    C# で Binary Tree の Object Class を作成します。
  81. Car, Cdr で連鎖
    Binary Tree の Car と Cdr を使って連鎖します。
  82. Binary Tree ソート
    Binary Tree で昇順にソートして印字します。

    Generics

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

    インターフェース

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

    スレッド

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

    XML(ExtensibleMarkupLanguage)

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

    Pointer

  96. Pointer を使う
    C# で unsafe の設定をして、int 型の Pointer を使います。
  97. int型を byte型の Pointer に Cast
    C# で byte型の Pointer で int型のデータに Cast して、メモリの内容を16進数でダンプします。
  98. byte型の Pointer で char型を Cast
    C# で byte型の Pointer で char型のデータに Cast して、メモリの内容を16進数でダンプします。
  99. byte型の Pointer で文字を設定
    C# で byte型の Pointer で char型のデータに Cast して、16進数で文字を設定します。
  100. メソッドのパラメータとしてポインタを渡す
    C# で メソッドのパラメータとして int型のポインタを渡して、値を設定して返します。
  101. 配列のポインタ
    ポインタを使って配列にアクセスします。

    Delegate

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

    Event

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

    Proxy

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

    DLL(Dynamic Link Library)
    ☆C/C++⇒C# DLL の記述があるページは、C/C++ から DLL を呼び出すページにリンクしています。

  112. C# Hello DLL
    "C# Hello DLL" を印字する Class を登録した DLL を作成します。
    ☆C/C++⇒C# DLL
  113. C# GcmLcm.dll
    GCM と LCM を計算する Class を登録した DLL を作成します。
    ☆C/C++⇒C# DLL
  114. こよみ DLL
    年月日を入力すると、曜日と経過日数を計算する Class を登録した DLL を提供します。
  115. C#⇒C/C++ Hello.dll
    C# から C/C++ でクラスを登録した Hello.dll を呼び出します。
  116. C#⇒C++/GcmDLL
    C# から C/C++ でクラスを登録した GclLcm.dll を呼び出します。
  117. C#⇒DLL(HelloMsg)
    C# から C/C++ で HelloMsg 関数を登録した DLL を呼び出します。
  118. C#⇒DLL(GCM,LCM)
    C# から C/C++ で GCM,LCM 関数を登録した DLL を呼び出します。
  119. C#⇒DLL(CharMsg)
    C# から C/C++ で CharMsg(wchar_t*) 関数を登録した DLL を呼び出します。
  120. DLL Command
    コマンドプロンプトから C# の DLL を作成します。
  121. Math Library
    AddClass と MultiplyClass を登録した C# の DLL を作成します。

    Console の演習問題

  122. ボーリングのブービー
    5人のボーリングの成績からブービー(booby)の点数を表示します。
  123. 分数の計算
    分数の加減算をして、結果を分数で表示します。
  124. 平方根の計算
    平方根の計算には「ニュートン・ラプソン」の方法と言う有名な解法があります。
  125. 正多角形で円周率を計算
    円に内接する正多角形を用いて円周率を計算します。
  126. 素因数に分解する
    整数nを素因数に分解して表示します。
  127. 約数を洗い出す
    整数nを割り切る全ての約数を洗い出して表示します。
  128. 素数の判定
    コンソールから入力した値が、素数か合成数かを判定します。
  129. 素数の一覧を表示する
    エラトステネスのふるいで 1000 以下の素数を求めて表示します。
  130. 偶数の魔方陣を作成する
    4,8,16, ...などの偶数の魔方陣を作成します。
  131. 奇数の魔方陣を作成する
    3,5,7, ...などの奇数の魔方陣を作成します。
  132. 年月日を入力して、曜日と経過日数を表示
    C#の Console.ReadLine で年月日を入力して、曜日と経過日数を表示します。
  133. 2倍すると最後尾の数字が先頭に
    ある長い数列があり、2倍すると最後尾の数字(8)が先頭に移動します。
    自前で作成した C# の List Object Class を使って、元の数列を求めて表示して下さい。
  134. 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. Windows と表示する
    空のプロジェクトから、ウインドウに大きな文字を表示します。
  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 の描画

  21. 画像ファイルを描画する
    GIF 画像をファイルから直接入力して、C# の DrawImage で描画します。
  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 を貼り付けます。
      ☆Visual Studio 2013 Preview のテストです。
    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. Form Size
      ウインドウサイズの拡大/縮小に対応します。

      Picture Box

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

      Common Dialog

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

      メニューの設定

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

      Timer

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

      List Box & List View

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

      Tree View

    55. TreeView に登録する
      C# で TreeView にノードを登録します。
    56. TreeView に階層で登録
      C# で TreeView にノードを階層構造で登録します。
    57. TreeView Click
      C# で TreeView のノードを右クリックすると MessageBox を表示します。
    58. TreeView 親ノード
      TreeView でクリックされたノードの親を調べます。
      Command Line からコンパイル出来る形式で掲載します。
    59. 子・孫を再起でトレース
      TreeView でクリックされたノードの子・孫を再起でトレースします。
    60. Drive Icon
      C# でドライブを検索して TreeView に登録します。
    61. Expand
      TreeView のドライブをクリックするとノードを展開します。

      Radio Button

    62. Radio Button
      Radio Button の説明です。
    63. Radio Button & GroupBox
      Radio Button を GroupBox で囲みます。

      Tab Control

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

      Split

    66. SplitContainer
      C# の SplitContainer でウインドウを分割します。
    67. FolderView
      C# で TreeView と ListView を並べてフォルダを表示します。
    68. Handler
      C# で作成した File Handler の原型です。

    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 でアニメーションします。

    C# Program Note

      Execute

    1. Command Line
      Command Line で指定されたパラメータを受け取ります。
    2. アプリケーションを起動する
      C# から他のアプリケーションを起動します。
      ファイルを関連付けられたアプリケーションから開きます。
    3. ホームページを開く
      ボタンのクリックで URL を参照してホームページを開きます。

      Clipboard

    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 に文字列とイメージを一緒に格納します。

      Drag&Drop

    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 を使って「ちらつき」を無くしてアニメーションします。

      Other

    14. Special Folder
      Windows の特殊フォルダーを調べます。
    15. Draw で書いたイメージをファイルに出力
      BMP 画像領域にカラーで文字を書き、gif 形式でファイルに書き出します。
    16. Form(ウインドウ) を直接生成する
      Form Object Class を直接生成してウインドウを表示します。
    17. Main() のクラスに Form を継承する
      Main() メソッドが定義されているクラスに Form を継承してウインドウを表示します。
    18. Form を継承した Class を使う
      Form を継承した新しい Class を使ってウインドウを表示します。

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

C# Network Program

    Web Page に接続

  1. Web ページをダウンロード
    C# で URL に接続して Web ページを TEXT 形式でダウンロードします。
  2. Web ページを TEXT 形式で表示
    C# で URL に接続して Web ページを TEXT 形式で TextBox に表示します。
  3. FTP UP_Load
    FTP を使って Web Page を UP_Load します。

    Server & Client

  4. Server と Client で通信
    C# で TCP(Transmission Control Protocol) Server に Client から接続します。
  5. 現在時刻を知らせる
    C# で Server を常駐させて、現在時刻を Client に知らせます。
  6. タイマ割り込みで、接続要求をセンスする
    C# でタイマ割り込みを使って Client からの接続要求をセンスします。
  7. スレッドで Message を取得する
    アニメーションしながらスレッドで Message を取得します。

    IP Address

  8. IPアドレスを指定して送信/受信
    IPアドレスを指定してメッセージを相互に送信/受信します。
  9. スレッドでメッセージを受信
    スレッドを使ったメッセージの受信と、IPアドレスを指定したメッセージの送信です。

C# Game Program 入門

    三山くずしゲーム

  1. 石の画像を描画
    ゲームに使う石の画像を描画します。
  2. クリック座標
    マウスがクリックされた座標から、山と石を計算します。
  3. Alpha 版
    三山くずしゲームの Alpha 版です。

    カードゲームに挑戦

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

    シューティングゲームに挑戦

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

    囲碁ソフト作成

  13. 碁盤に石を置く
    碁盤を表示して、石を置きます。
  14. クリックで石を置く
    マウスのクリックで石を置きます。
  15. 打ち上げと禁じ手
    石の打ち上げと禁じ手の判定です。
  16. SGF ファイルを入力
    SGF ファイルを入力して、出題図を表示します。
  17. 棋譜ツリー
    SGF ファイルの棋譜ツリーと CELL 構造体の説明です。
  18. 棋譜の再生
    SGF ファイルを入力して棋譜を再生します。
  19. 棋譜の保存
    ツリー構造に展開した棋譜を SGF ファイルに保存します。
  20. 棋譜の入力
    マウスのクリックで棋譜を入力します。
  21. 分岐の入力
    分岐手順を入力します。
  22. RadioButton
    主要な操作は RadioButton で制御します。
  23. Version 4
    SGF Version 4(FF[4]) に対応します。
  24. LB tag をプログラム
    SGF Version 4 に対応して LB tag をプログラムします。
  25. SGF Header
    SGF Header の編集をサポートします。

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 Chenge
    複数ファイルをオープンして 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 です。

    Binary Editor

  19. Binary Editor のメニューを設定
    Binary Viewer をベースに Binary Editor を作成します。
  20. 修正(&U)を設定する
    修正(&U)のイベントハンドラを作成します。
  21. ページを修正する
    修正(&U)で取得したテキストでページを修正します。
  22. ベータ版の完成です
    書き込み(&W)のイベントハンドラを作成して、ベータ版を完成させます。

    File Handler

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

C# DirectX Program

    C# Direct Draw 入門

  1. Windows Guide
    DirectX とコンパイル環境の設定です。
  2. Direct Draw でウインドウを表示
    C# の Direct Draw で空のウインドウを表示します。
  3. Command Line から DirectX を実行
    Command Line から DirectX をコンパイルします。
  4. Direct Draw で楕円を描画
    C# の Direct Draw で Front Surface に直接楕円を描画します。
  5. ofscreen を使って図形を描画する
    C# の Direct Draw で ofscreen Surface を使って図形を描画します。
  6. Image を描画する
    C# DirectX で ofscreen Surface にイメージをロードして描画します。
  7. 矢印キーで画像を移動する
    C# DirectX で、矢印キーの操作で画像を移動します。
  8. Direct Draw でアニメーション
    C# の Direct Draw で画像を切り出してアニメーションします。

    DirectX Sprite 入門

  9. DirectX 3D で Form を表示する
    空のプロジェクトから構築して、DirectX 3D でウインドウを表示します。
  10. Sprite で画像を描画する
    DirectX の Sprite を使って画像ファイルを描画します。
  11. 画像をそのままのサイズで入力する
    画像ファイルからそのままのサイズで入力して、サイズに合わせてウインドウを設定します。
  12. 透明色を使う
    透明色を使ってイメージを描画します。
  13. Sprite でアニメーション
    DirectX の Sprite を使ってアニメーションを行います。

    C# DirectX 3D入門

  14. 三角形ポリゴンを描画する
    C# DirectX で三角形ポリゴンの頂点座標を設定して描画します。
  15. カメラを設定して描画する
    C# DirectX で折り曲げた矩形をカメラで写して描画します。
    ※カメラ座標と透視変換の説明です。
  16. 四面体を回転しながら描画する
    C# DirectX で四面体の座標を定義して、回転しながら描画します。
    ※WORLD 座標回転の基礎です。
  17. 六面体を回転しながら描画する
    C# DirectX で頂点座標を配列で定義して、六面体を回転しながら描画します。
  18. Object のサイズと描画のサイズ
    C# DirectX で小さいモデルから大きいモデルまで、画面全体に同じように描画します。
  19. トーラスをライトで照らして描画する
    C# DirectX でトーラスをライトで照らして、回転しながら描画します。
    ライトの座標も回転してみましょう。
  20. View 座標を回転する
    C# DirectX でティーポットをライトで照らして、カメラ(View)座標を回転しながら描画します。
  21. コーンのメッシュ(cone.x)を描画する
    コーンに色を設定した3Dモデル(Cone.x)を描画します。
  22. 虎のモデルを描画する
    C# DirectX のサンプルモデルとして格納されている虎のメッシュ(X-FILE)を描画します。
  23. Tiny.x を静止して描画する
    DirectX のサンプルモデル(Tiny.x)をアニメーション無しで描画します。
  24. X-FILE 入力メニュー
    X-FILE の入力メニューを設定します。

    アニメーション

  25. ティーポットを回転する
    Quaternion を使った自作の Interpolator で、ティーポットを回転します。
  26. X-FILE を入力して回転する
    X-FILE を入力して、Quaternion の回転情報に従って、自作の Interpolator で回転します。
  27. 回転と移動のアニメーション
    X-FILE から回転と移動の情報を取得してアニメーションします。

    DirectX Sample Brower

  28. Tiny のアニメーション
    DirectX に添付されている X-FILE(Tiny.x)を入力して、アニメーションします。
  29. Sample Brower でティーポットを描画
    Sample Brower で生成したプロジェクトでティーポットを描画します。
  30. シェーダーを使ってティーポットを描画
    シェーダー(.fx)を使ってティーポットを描画します。
  31. Sample Brower で cone.x を描画
    Sample Brower で生成したプロジェクトで X-FILE(cone.x) を描画します。

C# Windows8(Store App)

    C# Windows8(ストア アプリ)紹介

  1. Windows8(8.1) C#
    Windows8 C#(ストア アプリ)のプログラムを試します。
  2. MessageDialog
    Button のクリックで MessageDialog を表示します。
  3. TextBox
    TextBox を張り付けて「TextBox 表示テスト」と表示します。
  4. Grid Line
    Grid Line を設定して TextBox を整然と並べて表示します。
  5. Hello NAME
    TextBox から名前を入力して「Hello 名前」を表示します。
    次に TextBoxから2個の整数を入力して、GCM と LCM を計算して表示します。

    Page Navigate

  6. Page Navigate
    Button のクリックで、次の Page に Navigate(遷移)します。
  7. Page Navigate2
    MainPage ⇔ BlankPage1 ⇔ BlankPage2
    BasicPage を選択すると、戻るボタンが自動的に設定されます。
  8. Navigate Parameter
    Navigate(遷移) で Parameter を渡します。

    Win8 で Image を描画

  9. Image
    Image コントロールに画像を表示します。
    画像を取得して BitmapImage に設定します。
  10. Image URL
    ホームページから URL を指定して画像を取得します。
    Local Folder に画像を格納して、描画する方法を説明します。
  11. Image Picker
    Picker を使って画像を選択します。
  12. ドットで図形を描画
    Image 領域に直接アクセスして、ドットで図形を描画します。
  13. Image Picker2
    Picker で抽出されたファイルの詳細を表示します。

    Win8 で File 操作

  14. install folder
    install folder からファイルを入力します。
  15. Local Folder
    Local Folder にファイルを作成します。
  16. Create File
    マイドキュメントにファイルを作成します。

    Win8 で ListView を使う

  17. List View
    Windows8 で ListView を使います。
  18. List Navigate
    ListView のクリックで、次のウインドウに遷移します。
    partical を使って「クラスを分けて別ファイルにする」方法を紹介します。
  19. List Data Class
    ListView に関係するデータを Class としてまとめます。

    既定のアプリで Uri&ファイルを起動

  20. Launch Uri
    既定のブラウザ(IE?)が起動してホームページを表示します。
  21. Launch File
    既定のアプリでファイルを開きます。

    BasicPage

  22. BasicPage を組み込む
    プロジェクトに BasicPage を組み込みます。
  23. Basic Parameter
    BasicPage で Parameter を渡します。
  24. pageState パラメータ
    pageState パラメータの説明と使い方です。
  25. Save & Load
    ページの状態を ApplicationDataContainer で退避/復元します。

    Grid App(XAML)

  26. Windows8 Grid
    Grid App(XAML) をテンプレートに使います。
  27. Group, Item を識別
    Grid App で Group, Item を識別します。
  28. Grid Uri
    Title の設定と、ブラウザ(IE)の起動です。
  29. Grid File
    既定のアプリでファイルを開く Group3 を追加します。

    Split App(XAML)

  30. Windows8 Split
    Split App(XAML) をテンプレートに使います。
  31. Windows8 Split Navi
    Split App をテンプレートに使った Navigate のプログラムです。

    SDKTemplate

  32. SDKTemplate
    SDKTemplate を使います。
  33. SDK Image
    SDKTemplate を使って Image を表示します。
  34. SDK Mix
    Scenario1 ~ Scenario4 に取り混ぜて設定します。

C# Windows10(Store App)

    C# Windows10(ストア アプリ)紹介

  1. C# Windows7 以前
    C# Windows10 で Windows7 以前のプロジェクトを動かします。
  2. Win8 ⇒ Win10
    C# Windows8(Store App)のプロジェクトをコンバートします。
  3. C# Windows10
    C# Windows10 のテンプレートプロジェクトです。
  4. Win10 Mouse
    Windows10 でマウスのクリックを検出します。

    W10 空白(Space) App

  5. Hello Windows10
    TextBox を貼り付けて "Hello Windows10" を表示します。
  6. Image View
    空白アプリで Image コントロールに画像を描画します。
  7. 私のページを呼び出す
    Button のクリックで私のページを呼び出します。

    W10 空(Blank) App

  8. Button Click
    Button のクリックで MessageDialog を表示します。
  9. TextBox
    TextBox を貼り付けて GCM, LCM を計算します。
  10. Uri Navication
    Button のクリックで URI にジャンプします。
  11. W10 Navigate
    Button のクリックで BlankPage に Navigate します。

    W10 WPF App

  12. WPF TextBlock
    C# Windows10 WPF で時刻を表示します。
  13. WPF TextBox
    WPF で TextBox を貼り付けて GCM, LCM を計算します。
    ☆TextBox と Button のプロパティを設定します。
  14. WPF Image View
    WPF で Image コントロールに画像を描画します。
  15. WPF Navigate
    XAML 上で遷移先を定義して Navigate(遷移)します。
  16. Xaml Page Navigate
    ページを選択して Navigate する XAML の定義です。
  17. Xaml Uri Navigate
    Navigate する Uri を追加します。
  18. Code Page Navigate
    ボタンのクリックで Navigate します。
  19. Code Uri Navigate
    クリックで Navigate する Uri を追加します。
  20. WPF Mouse&Key
    WPF で Mouse と Key を検出します。

    W10 Grid App

  21. Grid ⇒ Blank
    Grid アプリで Blank Page に Navigate します。
  22. Group, Item を識別
    Group, Item を識別して Navigate します。
  23. Grid & BG
    Grid アプリに Background Image を設定します。

    W10 Split App

  24. Split ⇒ Blank
    Split アプリで Blank Page に Navigate します。
  25. Group, Item を識別
    Split で Group, Item を識別します。

    W10 Hub App

  26. Hub ⇒ Blank
    Hub アプリで Blank Page に Navigate します。
  27. Group, Item を識別
    Hub で Group, Item を識別して Navigate します。
  28. Hub Top Image
    Hub のトップページに画像を描画します。

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

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