投稿

ラベル(C#)が付いた投稿を表示しています

Translate

C#でクライアント証明書を作成するプログラムコード

イメージ
クライアント証明書をC#を使って作成するコード 今回作成する証明書は、前回、クライアント証明書認証型のWEBサイト構築で紹介した分と合わせると、このプログラムで作成したクライアント証明書を利用した、クライアント証明書認証型のWEBサイトシステムが完成する。 前回のクライアント証明書認証型WEBサイトをC#のASP.NETで構築はここをクリック Bouncy Castleのライブラリを使用したクライアント証明書を作成 Bouncy CastleのライセンスはMIT Licenseが適用されており、著作権表示および本許諾表示をソフトウェアのバージョン情報等に記載していれば、利用方法などは自由で利用しやすいライブラリ。 ライブラリのダウンロードは、Nugetから適用する事が可能だが、本系サイトのBouncy CastleのページからC#ライブラリページをダウンロードした方が、最新モジュールを利用できる為、本家サイトからダウンロードする事が、筆者のおすすめ Bouncy CastleのC#ライブラリページはここ zipの圧縮ファイルを解凍すると、参照設定可能なDLLが利用可能だ。 画面のデザイン 今回は、FrameWorkの4.7.2を利用してみた。 画面には、サーバー側にインポートした証明書が、後から誰の分であるか識別出来るように、フレンドリ名を任意で設定出来るようにだけした、簡素な画面である。 namespace createcert { partial class frmMain { /// /// 必要なデザイナー変数です。 /// private System.ComponentModel.IContainer components = null; /// /// 使用中のリソースをすべてクリーンアップします。 /// /// マネージド リソースを破棄する場合は true を指定し、その他の場合は false を指定します。 protected override void

ASP.NETのでクライアント証明書を使ったログイン認証を行う方法

イメージ
C#言語のASP.NETのでクライアント証明書を使ったログイン認証を行う方法 クライアント証明書認証とは WEBシステムを構築する際に、最初に直面する問題のログイン画面。 クライアント証明書を発行する仕組みについては、別の機会に紹介したいと思う。 C#でクライアント証明書を発行する方法はここをクリック WEBシステムのログイン画面は、一般的なアプリケーションのログイン画面と違い、ユーザーがWEBブラウザにURLを直接入力すると、全ての機能にアクセス出来てしまう為、最初に作成するログイン画面のログイン情報を持ち回り、検証し、アクセスを受け入れるか拒否するか等コントロールを行う為、アプリケーションとは異なりとても重要な機能。 今回はそのなかでも、通所のIDやパスワード、2段階認証とは違った、クライアント証明書認証型のログインをコントロールする方法についての紹介。 個人的には、アプリケーション構築をする事が多い為、WEB系のシステム開発に携わる機会は少ない方なのだけれども、久々に触ったら、.NetFramework、.NET COREと大きく分かれていて、アプリケーションサイドでも、WPFのMVVM型や、いつもの三層モデルに、UWPやら、ますます開発手法の多様化が進み、一体どれを選択するのが正解なのか、ベンダー側の宣伝文句だけに振り回されず選択するのが非常に困難になってきた。 今回紹介するやり方は、Framework4.7をチョイスしてみた。 >.NetFramework4.7は、MVCも混在させる事が容易で、WEBFormを選択時でも、URLに.ASPXと付かないなど、より現代のWEBに最適なWEBシステムの構築が可能で、検索エンジンに最適化したい場合はMVC、WEBシステムに特化した機能を作りたい場合は、システム構築の工数を大幅に削減できるWEBFormを使うと言った事が容易で、とても便利であったからだ。 話を戻して、クライアント証明書を簡単に説明すると、WEBページにアクセスする為に、入館証のようなIDカードを必要とする認証機能の事である。 利用者がWEBページにアクセスすると、WEBサーバー側がクライアント証明書を、利用者側に求めてきて、具体的には、下のような、端末にイン

C#でCSVファイルを読み込む便利なクラス

イメージ
備忘録:C#でCSVを読み込む便利な方法 TextFieldParserクラスを利用する。 CSVファイルはグローバルでは何となく共通のやり方になっているのだけれども、国内ではCSVデータの文字で改行はダメとかいろいろある。 めんどくさい。 テキストファイル読む系ならFileOpenクラスや、StreamReaderで読んで、それがCSVなら、Splitでカンマでぶった切るようなやり方になるけれど、CSVのデータ " \n "の改行は別の行として読まれてしまい、不都合が多い。 ダブルクオーテーションのマークを追ったりするやり方になるけれど、無駄に感じてきた。 という事で、TextFiledParserを使うサンプルをポイっとした。 モールショップ系の商品CSVデータって、まさに文中に改行されまくりなので、CSVのRFC仕様マックすで実装する必要がです。 TextFieldParser クラスを使うと、他の言語と違ってめちゃくちゃシンプルに改行込みCSVが簡単に読み取れる。 参照設定: Microsoft.VisualBasic.FileIO 必須なポイントだけ色付けた。 データを読み取る前にDelimiterを設定するところが、StreamReaderでやるのとTextFieldParserでやるのとで異なるところで他は基本的に同じ。 他の言語だと...読み込む為に別でクラス作ったりとか考えただけでめんどくさ過ぎてぞっとする。 TextFieldParserを使うことは難易度高いみたいな雰囲気な事言う人いるけれど、StreamReaderでやる方が実装コード数が圧倒的に上がるから、こっちの方が断然難易度低いと思う。 サンプルのは読んで吐くみたいなコードだけれども、色がついている所だけが読むのに肝心。             using ( Microsoft.VisualBasic.FileIO.TextFieldParser sr = new Microsoft.VisualBasic.FileIO.TextFieldParser (itemFileName, System.Text.ASCIIEncoding.GetEncoding("shift-jis&qu

今年はWebassenblyが急上昇するからC#+XAMLをやるべき!

イメージ
今年はWebassenblyが急上昇するからC#+XAMLをやるべき! C#とXAMLでWebassemblyが簡単に作れるプラットフォームが登場! 1/2にUnoPlatformのバージョン2がリリースされた。 正確にはUWPベースのプロジェクトがWindows、Android、iPhone向けのアプリの出力が出来るのだけれども、特に、WebAssemblyも強化されているみたい。 Webassembly自体は2017年位から、Windows、Mac、Android、iPhoneのブラウザが対応が進められて来て、今年はいよいよFlashが廃止もされる事から、このWebAssemblyが一気に増えてくるのでは無いかと想像できる。 Javascriptのフレームワークは沢山出ているけれども、このフレームワークはあれが出来ない、こっちのはコレが出来ないみたいなのが多く、また、処理速度もFlashで作られるSPAのレベルにしようと思うと、かなり苦しめられたのだけれども、そもそもWebAssemblyは、バイナリーコードでありながらブラウザで動作可能なSinglePagesApplicationの開発が出来る。 Flashじゃないとやっぱりダメだ・・・って断念していたコンテンツも、WebAssemblyなら実現が可能になるものも多いと思う。 C#+XAMLでそれが出来るようになるのだったら、UWPプロジェクトベースの開発も受け入れやすいのじゃないかと思う。 UWPは、アプリケーションの開発自体にもレスポンシブデザインが求められていて、業務アプリケーションの開発工数が大幅に増えて、ユーザー企業の社内SEレベルでこの開発はあまりにも負荷が高い!って思っていたものの、WEBの開発は、沢山あるJavascriptフレームワークの併用による相性とか色々苦しめられた。 そもそも、アプリケーションの開発スタイルでWEBシステムが開発出来るとなったら、UWPは一人情シスレベルの社内SEでも取り組む価値があるのではないだろうかと思う。 日本のSierはとにかく古い開発スタイルで、新しいものが来たら邪険にしてきた、Javascriptを多用するWEBの分野では相当な遅れをとっていたと思うけれど、今回はまだ今か

C#でメール送信するサンプルプログラム | For example send email for C#

C#でメール送信するサンプルプログラム | For example send email for C# C#でメール送信するプログラムを久々に組む事になったので、サンプルプログラムを貼り付ける。 昔は結構これのプログラムを作ったから考えずともスラスラ作れたのだけれども・・・やっぱり、しばらくやらなかったら忘れてしまったなんて・・・(;´∀`) API調べながらやれるだろうけれど・・・取り敢えず、コピペで出来るように貼り付ける。 色々、文字コードの指定とかも渡せるとか意見はあるだろうけれど、即興で組んだのだからこれでいい。 時間無いのよオイラ~は( ;∀;) このパターンは暗号化パターンが無いから、SSLとか使うときは、追加処理が必要。 単純なPOP3で使える。 SSLパターンはまた今度載せてみる。 今オイラ~が必要なのは大塚商会のアルファメールと言うホスティングサービスで取得したアドレスを使用してメールを送る為の仕組みが必要なだけだし。 class SendMail { //メール送信 public void SendMailMessage ( String Host, Int32 Port, String FromAddress, String [] MailAddress, String UserName, String EncryUserPassword, String Subject, String Body) { System . Net . Mail . SmtpClient client = new System . Net . Mail . SmtpClient ( Host , Port ); String strPass = EncryUserPassword client . Credentials = new System . Net . NetworkCredential ( UserName , strPass ); System . Net . Mail . MailMessage message = new System . Net . M

プログラミング言語のJavaが遂に有償化でKotlinも影響がある!?

イメージ
プログラミング言語のJavaが遂に有償化!? 取り敢えず、日本はJava言語がやたら好きで、物凄いあっちこっちで使われている言語だ。 理由は簡単、無料だからだ。 そんな無料好きのGoogleもJavaを採用しているのだが・・・ いよいよ裏目に出る。 JavaがOracleのものになった日から、いつかこういう日が来ると予想していたエンジニアは多かった筈だ。 それが、遂に来た。 それだけのこと。 Kotlinにも間接的に影響が出るだろう。 Kotlinは新参者の言語だけあって、Kotlinだけで何かを開発するには役不足で、通してもJavaのライブラリを利用する事になるだろう。 Kotlin自体が、Javaのライブラリそのまま使えますよ的に宣伝しているし、設計されているからそうなのだが・・ と、言うことで、個人的にはやっぱりC#の最強説を唱えたくなるが・・・ バッチであれば迷わないのだが、C#アプリケーションとなると、開発スタイルが多すぎてどれが正解なのか全てのC#エンジニアが苦悩しているだろう。 WindowsForms、WPF、UWP、ASP.NET、MVC 複数やるに越したことは無いのだけれども、数年経てばあまり機会が無かった作り方を久しぶりにした時、ずいぶんやり方が変わっていて、まるで初心者みたいになる事もある。 だからして、如何に、長持ちで、変化の少ない安定した言語を・・・と迷うのだけれども。 オイラ~の世代には、ジェネリック型を使うことで、処理速度がずいぶん低下するのでは無いかと裏を読んで悩んだり・・・ ジェネレーションギャップなのか、若い人は何も迷わずにガンガンやるが。 どっちが正しいとかないから、多数決で多いほうが正しいみたいになるのが癪なのだが。 そんなC#エンジニア達は、Javaのこれを歓迎しているのではないだろうか? C#はオープン環境や今やMacのアプリケーションまで開発出来る、活躍の場がどんどん広がった言語となったのだから。 Javaを大量に使用して設計したエンジニア達の罪は重いと思う。 全く、これが起きないなんて考えて来なかった筈はないし。

C#でメール送信のサンプル: For example Send mail by C# with encoding japanese

C# メール送信用 ブログで今日使用する予定のプログラムを貼っておけば、 今日の仕事がコピペで一瞬で片付くという必殺技。 早く終わったら、早く帰られる制度もほしなぁ・・・         public void SendMailMessage(String Host,                                     Int32 Port,                                     String FromAddress,                                     String[] MailAddress,                                     String UserName,                                     String Subject,                                     String Body)         {             System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient(Host, Port);             String strPass = "Password";             client.Credentials = new System.Net.NetworkCredential(UserName, strPass);             System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();             message.From = new System.Net.Mail.MailAddress(FromAddress);                 //To             string[] ToAddress = MailAddress;             for (Int32 idxToAddress = 0; idxToAddress

MVVMパターンのメリットがさっぱりわからない・・

イメージ
MVVMパターンのメリットがさっぱりわからない・・ 最近は、WindowsFormsでは無く、WPFで開発をするみたいだけれども・・・ MVVMパターンで開発が主流になってきているみたい。 MVCみたいなやつの、アプリ版みたいな感じなんだけれども・・・ ・・・が、ここまでするメリットがさっぱり分からない。 XAML側のDataBindingの指定で、直接コードの値がバインドされるのは面白いけれど・・ だからなに?って感じ。 コントロールの間にデータ中継される要素が増えて、ただ複雑になって、コード量が増えるだけなんでは? そして、日本の現場で、実際に、デザイナーと、コーダーが分かれて作業されるなんて日が実際に来るのだろうか・・・ MVCですら、実際には、デザイナーと、コーダーが分かれて作業しているなんてみ見たことが無く、実際には、デザインとコーダーが合体している。 デザイナーから、謎な巨大なイラストレーターのAIファイルを渡されるだけで・・ 実際の画像加工もコーダーの人がやっているケースが殆どでは・・!? が、これが、今の主流なのか・・・ 自分は、現場が喜ぶ結果が出来たら、あまり過程にはこだわらない。 今までと同じ表現で良いのに、複雑なプロセスを踏まなきゃいけないなんて・・・ これは、技術の進歩何だろうか?? 何となく、JAVAが人気な理由が分かってきた。 JAVAは、コーディングスタイル自体は大きく変わっておらず、コード量は多い物の、古いエンジニアも現役で戦っていけるくらい、成熟している。 ・・・が、Microsoft系の言語は、.NET Frameworkになってから、コロコロコーディングスタイルが変わって、もはや、どれが標準なのか、さっぱりぱりぱりだ。 結局のところ・・・ すっごく揉めて、こだわって作っても、1年先にはまた新しい手法が登場して、 その時それに拘っているのは、ただのエンジニアの自己満足だと思うのだけれども。。。 技術の進歩は、段々成熟して殆ど変わらないから、自分は、実際に現場の業務効率化で役に立つものだけを作っていたい。。。 言語・・・Python(パイソン)に乗り換えようかな・・・ Winアプリも、Webア

C#言語だと、Androidの開発でもENtityFrameworkが使えて,SQLiteの操作も簡単に。

イメージ
C#言語だと、Androidの開発でもENtityFrameworkが使えて,SQLiteの操作も簡単に。 Xamarinで、EntityFrameworkが使えるみたい。 Javaのエンジニアには恩恵はないけれど、C#で開発する場合、SQLを一切書かずにSQLiteのデータベースも扱えるみたい。 JavaでAndroidのSQLiteを更新する場合、SQL文書いたり、データベースに接続する為の処理を書いたり、バインド変数に値をセットしたり・・・ これだけで、かなり長々書くことになる。 EntityFrameworkでこれをやると、SQLiteのデータベースに更新する位の小規模なデータベースだと、いちいちこれがとても面倒なのだけれども・・・ EntityFrameworkでコードファーストなプログラミングが出来ると、 これも、SQLやトランザクション云々の細かい処理が不要になる・・・ XamarinのDeveloperブログのサイト めちゃくちゃ便利・・・

MVCでデフォルト_shared/_Layout.cshtmlのレイアウトから別のレイアウトに切り替える方法

イメージ
MVCでデフォルト_shared/_Layout.cshtmlのレイアウトから別のレイアウトに切り替える方法 _ViewStart.cshtmlで切り替える @{     var CallController = HttpContext.Current.Request.RequestContext.RouteData.Values["Controller"].ToString();     string layout = string.Empty;     if (CallController == "Login")     {         Layout = "~/Views/Shared/blank/blank.cshtml";     }     else     {         Layout = "~/Views/Shared/_Layout.cshtml";     } } MVC5になってから、色々また規則が変わってしまったなぁ・・・ これはこれで便利なんだけれども、こうコロコロやり方が変わるのはマジでキツイ。 さらに、今までは、こんな処理不要だったのに、突然必要になったり、逆に開発工数が増えるんじゃ・・・・・ マイクロソフト・・・いい加減にしろよと思う。

WPF Doeventの実装方法

WPF Doeventの実装方法 WPFはWindows.formsのように、Doeventsが用意されていない為、自分で実装する必要がある。 基本的にマイクロソフトのヘルプにサンプルがあるので、それをコピペで使用するだけなのだけれども、毎回探すのも不便なので、自分のブログに準備してみた。         #region "DoEvents"         private void DoEvents()         {             DispatcherFrame frame = new DispatcherFrame();             var callback = new DispatcherOperationCallback(ExitFrames);             Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background, callback, frame);             Dispatcher.PushFrame(frame);         }         private object ExitFrames(object obj)         {             ((DispatcherFrame)obj).Continue = false;             return null;         }         #endregion  コピペするだけで使えます。 どうぞどうぞ。

Windows版のC#でアンドロイド(Android)開発をするXamarinStudioのセットアップが恐ろしく長い・・・

イメージ
Windows版のC#でアンドロイド(Android)開発をするXamarinStudioのセットアップが恐ろしく長い・・・ C#がすっかり、全てのプラットフォームで動作可能な無敵な言語となった今、クライアント(スマートフォン側)はJavaやObjective-C、サーバー側は、JSONサーバーとする為に、これまた、JavaServletやPHP、Ruby・・・もう言語がぐちゃぐちゃでエンジニアとしては、もうやってられるか・・って思う時もあったと思う。 全部C#で出来るようになった今はどうだろう・・・ 新しいイノベーションが自分でも起こせるかも知れないと、再び立ち上がる希望に繋がったり、これから始めたいと嬉しい気持ちいっぱいになるだろう! Visual Studio CommunityのXamarinをインストールする時に、時間がかかることだけ注意しよう! Core-i7+RAM 8Gで開発には順分高速なマシンだ!なんーーんて思ってもハードディスク(HDD)がSSDじゃなく、従来のプラッターのタイプだった場合は、やっぱりディスクのアクセスが頻繁なようで、随分と時間がかかります。 ご注意を!

C#MVCでUbuntuにPostgreSQL入れて動かしてみるまで - UbuntuのPostgreSQL Servre動作確認とデータベースの作成 #00005

イメージ
C#MVCでUbuntuにPostgreSQL入れて動かしてみるまで - UbuntuのPostgreSQL Servre動作確認とデータベースの作成 #00005   前回のお勉強会でやった事の内容だよ☆  Ubuntuのセットアップ時に、初めからPostgreSQLのデータベース・サーバーがインストールされている状態とする為、PostgreSQLServerのオプションを設定して、Ubuntuサーバーをセットアップしましたよ。 → 前回を知りたい方は、ココをクリック とりあえず、立ち上げてみると・・謎の文字だらけだったね。   これは、Ubuntuのサーバー版が、余計なGUIを捨てて、最速で動作させる為のエディションだからなんだ。 GUI(グラフィックユーザーインターフェース)があると、画面をいちいち描画させたり等、普段放置されるサーバーにはとても無駄が多い処理になってしまうの。 まぁ、でもドキュメントも沢山あって、確実に進めていけるから安心だよね。 (殆ど英文だけれども・・・)   まぁ、ビビらないで進めていきますよ。 前回の分でPostgreSQLサーバーのセットアップまで済んでいるから、インストールをしている箇所は捨てて進めて問題なかったんだ。  まず、インストールされているバージョンをチェックするよ。     sudo -u postgres psql postgres  と入力すると、インストールされているポスグレのバージョンが表示されたよね。   psql (9.5.3)と出てきたって事は、確実にポストグレスがインストールされたって証だったんだ。 PostgreSQL Serverのパスワードの初期設定!  次に、PostgreSQL Serverで色々操作する為のパスワードを設定します。  ﹨password postgres  インストールしたてのPostgreSQLデータベースサーバーは、初期のパスワードがpostgresとなっていたのです。  なのでコマンドで、  ﹨password postgres と入力する事で、初回パスワードの認証し、新しいパスワードを設定する為の応

C#MVCでUbuntuにPosgre入れて動かしてみるまで - Virtual Boxの環境設定 #00003

イメージ
C#MVCでUbuntuにPosgre入れて動かしてみるまで - Virtual Boxの環境設定 #00003 Virtual Boxでインストールが完了したら・・・ 今回は、環境設定を行います。 てか、今日は帰って寝るのはどうっすか・・・ 死ぬよ・・・こっちがΣ(´∀`;) オマエガカヨ 前回までのあらすじ ヴァーチャルボックス(Virtual Box)のインストールを行いました。 インストールの方法や注意はココをクリック Virtual Boxでインストールが完了したら・・・ 環境設定を行います。 改めてVirtual Boxの説明をすると・・・ 超初心者向けに説明すると、パソコンの中に、もう一つのパソコンを動かす物。 毎回毎回環境毎にパソコンを買ってられませーーーーん!! と言う事で、こんなのソフトが登場しました。 仮想環境が出始めた頃は、仮想化しても、結局膨大なライセンス費用が発生して、やっぱりサーバーもう一台買うのと一緒ジャーーーンって突っ込まれたものですが・・・ 今でも、まぁそうですが、大体どんなパソコンにも入れられて、パソコン上のそのパソコンそのものをファイルのコピー&ペーストで準備できたり・・・ 一台だけ高価なサーバー買って、仮想化環境立ててしまえば、バックアップも、実際には代わりのハードを一台用意するだけで良いので、とても便利なのです。 日本の中小企業は、どうやらパソコンが10万円する事すら高く感じるみたいです。 ・・・ 昔からパソコンやっている者にとっては、パソコンが10万円程度ってめちゃくちゃやっすーーーー だと思うのですがΣ(´∀`;) まず、、、Virtual Boxを立ち上げたら、【新規】ボタンを押して下さい。 『仮想マシン作成』画面が表示されたら・・・名前をつけましょう! 名前は、自分の好きな名前でいいです。 今回は、目的を分かりやすくさせる為、【UbuntuPosgre】って名前を付けちゃいます。 UbuntuOSをインストールする予定なので、タイプは、【Linux】 バージョンはUbuntuにして【次へ】ボタンを押します。 メモリーサイズは、パソコン上で動かす、仮想環境パソコンのメモリ容量を意味します。 初期は、1024MBとなっ

C#MVCでUbuntuにPosgre入れて動かしてみるまで #00001

イメージ
C#MVCでUbuntuにPosgre入れて動かしてみるまで #00001 初めてプログラムを始める人が、ここ一ヶ月で一気にモグラ叩きまで作れるようになったので、 今度はデータベースにアクセスする為の説明をする為に情報を整理していきます。 ・・・・動作が遅くなるけれど、Entity Framewok で説明したいと思います。 SQL Server入れるのもありですが、パソコン遅くなったり、早くする為にサービス止めたり・・・ 面倒なので、とりあえず、UbuntuのOSをVirtual BOX上に立てて、やっていきたいと思います。 とりあえず、Virtual Boxをインストールしましょう・・・・ Virtual Boxのインストールはココをクリックしてね☆ 116メガあるから、ちょっとだけ時間かかるかもね。 オイラ~ダウンロードした物は、また使うためにひたすらバックアップしていっているから、ちょっと時間かかるから、取り敢えず、次回教える時は、これが何なのかと、後は、Oracle社についてちょっとしゃべったり。。。 一気にやると、また、分っ かりませ~~~~~ん♪ って言われるので、次回にしまっす。! とりあえず、データベース開発に必要な物!って事で☆ 今度は、代わりに何を教えてもらおうかなぁ・・・ 芸能情報だけは興味ないっす ごめんちょ( ;∀;) 只のIT器用貧乏は、今まで興味なかった事について教えてもらうのが好きになってきた Σ(´∀`;)

Ready1-2.[1.]項以降をWindowsまたは、Macで動かす為のVisualStudioの準備

イメージ
Ready1-2.[1.]項以降を動かす為                       のVisualStudioの準備 書籍風に仕上げている分は、いづれ公開します。今はHPだけで・・・ Ready1-1でVisualStudioのダウンロードとインストールが終わったら、取り敢えず、VisualStudioを立ち上げましょう。 ※1 今回は、2017/01/13時点で最新版の VisualStudio2015Community を使用します。 筆者が使用している環境は英語環境ですが、メニューの位置等は、日本語環境と同じ! VisualStudioCommunity起動時の画面   沢山メニューがあって、やっぱりムリって思ったりするかも知れませんが、とにかく、サンプルプログラムを動かす為の準備に絞って説明します。 まずは 、メニューバーから、【ファイル(File)】→【新規(New)】→【プロジェクト(Project)】の順に選択します。 『New Project』ウインドウが表示されたら、【Templates】→【Visual C#】→【Windows Form Application】を選択します。  ここで、何故今回、沢山ある新規作成のテンプレートから、Formsタイプを選択したかを説明すると・・    1.少数精鋭の開発に向いている    2.開発時にデザイナーとプログラマーみたいなスタイルが取れず、全ての一人で開発する必要が     ある等・・・ の、日本独特の開発エンジニアのスタイルには、Formsを使う事が最も最速で開発が可能だからです。 だからといって、WPFでしか出来ない事、Formsじゃ無いと出来ない事は勿論存在しないし、解決出来ます。 とにかく、難しく考え内容にもう、このまま覚えちゃって下さい。 特に初めて触る方は、一つ一つ疑問に感じてしまうと、もの凄い膨大な情報に溺れてしまい挫折しています。 このまま覚えていけば、必ず一人で何でも出来る領域に到達しますのでご安心を! 話が反れましたが・・・・ 『Windows Forms Application』を選択後、下の【名前(Name)】欄へ「1-1.」項で、実践するようのプロジェクト名をるけましょう・・・ 名前は