さて、前回は柄にもなく「宿題」等を出してしまいました。ゴメンナサイ。先ずはこの「宿題

 

「宿題:以下二つのイメージで異なる点を2点探してください。」

 

の答え合わせからやりましょう。

 

「VisualStudio版」

「C#5版」

 

(相違点1)前にCopilot君も言っていたのですが、最新のVisual Studio 2026のcsc.exeでコンパイルしたプログラムのウィンドウコントロールはWinForms(GDI、GDI+)なのに、WPF(Direct X)に似せたのでボタンコントロールのルックが違います。

 

相違点2)次は(IDE環境というよりも、私の手抜きなんですが)Visual Studio版を作る際に作成したTurtle.icoですが、

 

 

Microsoftの(Obsolescentな)アイコンエディターは背景色を独特の透過色青緑)にできなかったので、そのまま黒地になってしまいました。(しかし、当時黒を透過色で塗り潰そうと思ったのですがやり方がわかりませんでした。)

 

ということで、

 

矢張り部品はしっかりと作っておこうということで、自作のIconViewerを使ってやり直しました。

 

 

しかしオリジナルの48x48だけは(3の倍数によるものか?)マスクビットマップが不正確に作成されて綺麗に表示されない為、32x32の上は64x64に差し替えました。

 

 

この結果Visual Studio版で黒地だったウィンドウアイコンはきちんとウィンドウの枠色(透過色)になりました。以上が宿題の答えです。

 

後、C#5版を作るための準備について2点ほど触れます。

 

(1)予めNakov.TurtleGraphics.dllをダウンロードして用意してください。←のリンクページの右側の"Download package  (37.56 KB)" をクリックして、圧縮ファイル"nakov.turtlegraphics.2.0.2.1.nupkg"をダウンロードし、Explorerで中に入り、"lib\net35\Nakov.TurtleGraphics.dll"をコピーし、ターゲットフォールダーに張り付けると自動的に解凍されます。

 

(2)次に今後【TurtleGraphics】シリーズのソースファイルTurtleGraphics01.csTurtleGraphics0X.csは同じフォールダーにソースとNakov.TurtleGraphics.dllをいれてコンパイルすることを想定しています。その為に以下のようなバッチファイルを使いますのであらかじめソースファイル名に合わせて用意してください。(勿論拙作MSCompAss.exeを使っていただいても結構ですが。)

 

【例:TurtleGraphics01.cs用TurtleGraphics01.bat

@ECHO OFF
ECHO ----------------------------------
ECHO  TurtleGraphics01.bat
ECHO  Copyright (c) 2026 by Ysama
ECHO ----------------------------------

"C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe" /t:winexe /reference:".\Nakov.TurtleGraphics.dll" /win32icon:".\Turtle.ico" /warn:4 ".\TurtleGraphics01.cs"
pause
 

解説:緑字はバッチコマンドです。書かれているテキストを表示し、最後に何かキー入力があるまでプロンプトウィンドウを開けておくようにしています。多色で書かれているのがコンパイル命令です。

青字はコンパイラー("csc.exe")の起動命令です。ピンク字は「ウィンドウの実行プログラムを作れ」というオプションです。紫字は「同じフォールダーにあるNakov.TurtleGraphics.dllを参照せよ」という意味です。空色字は「同じフォールダーにある".\Turtle.ico"というアイコンファイルを使え」という意味です。赤字はコンパイラーの警告レベルを4にせよと言うことです。最後の黄土色字は「同じフォールダーにあるソースファイルTurtleGraphics01.csをコンパイルせよ」という意味です。

 

以上で今回のお話は終わりです。次回Visual Studio版のソースファイル3つを統合したC#5版のプログラムファイルを紹介いたしますので、↑の通り準備していれば、バッチファイルを不ダブルクリックするだけで実行ファイルが作られます。

 

乞うご期待!