SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

仮想ネットワークの実装で学ぶTCP/IP

仮想ネットワーク実装でTCP/IPを学ぼう(7)
― GDI+と独自プロトコルの定義

仮想ネットワーク実装でTCP/IPを学ぼう(7)


  • このエントリーをはてなブックマークに追加

 この連載では仮想的なLANを実装することにより、目に見えないTCP/IPプロトコル群を、手を動かして目で実際に確認しながら習得することを目的としています。今回も前回に引き続き、これまでの連載のまとめとして、仮想的なネットワークの実装方法について解説します。

  • このエントリーをはてなブックマークに追加

はじめに

 この連載では仮想的なLANを実装することにより、目に見えないTCP/IPプロトコル群を、手を動かして目で実際に確認しながら習得することを目的としています。ただし、TCP/IPの全てを解説するのは分量上不可能ですし、余計に読者を混乱させてしまいますので、筆者が重要と考えている部分だけ解説します。またサンプルコードや本記事に出てくるIPアドレスとMACアドレスについては架空のものであり、実際にそのIPアドレスを取得した組織などを意識したものではありません。あらかじめご了承ください。

 今回は仮想ネットワークを実装する為に必要な知識であるMDIアプリケーションの作り方と、GDI+プログラミングの基礎を解説します。また、独自プロトコルの決定を行うことにより、プロトコルそのものに対する理解を深めるお手伝いをします。

質問/指摘についての注意

 本記事の対象を超えるもの、記述箇所を特定しないもの、読者固有環境に起因するもの、読者の主義思想に関するもの、読者の誤解によるもの、社会人としてのマナーを欠いたものなどは質問/指摘を頂いてもお答えできません。あらかじめご了承ください。

 また、サンプルファイルとして、C#とVBのコードがダウンロード可能となっていますが、本記事内ではVBのコードは割愛し、C#のコードのみを説明します。VBを使用する方は、サンプルファイルの該当箇所を確認ください。

MDIアプリケーションの作り方

 仮想ネットワークは複数のフォームを管理する必要がありますので、MDIアプリケーションとしています。MDI(Multiple Document Interface)とは1つのフォーム内に、複数のフォームを表示するグラフィカルインターフェースのことです。一例を挙げますとMicrosoft Excelがこれに該当します。

 MDIアプリケーションを作るには、親となるフォーム(System.Windows.Forms.Formオブジェクト)を用意し、IsMdiContainerプロパティをtrueにします。

 次に、親となるフォームの内部に表示するフォームである子フォーム側のMdiParentプロパティに、親フォームを指定します。文章では分かりにくいので、MDIの設定を行うサンプルプロジェクトMdiSampleを用意しました。確認してください。

MDIの設定を行うサンプル(C#)
using System;
using System.Windows.Forms;

static class MdiSample
{
    static void Main()
    {
        //MDIの設定(親側)
        Form parent = new Form();
        parent.Text = "親フォーム";
        parent.IsMdiContainer = true;
        parent.WindowState = FormWindowState.Maximized;

        //MDIの設定(子側)
        Form child = new Form();
        child.Text = "子フォーム";
        child.MdiParent = parent;
        child.Show();

        //実行開始
        Application.EnableVisualStyles();
        Application.Run( parent );
    }
}
サンプル実行画面
サンプル実行画面

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
仮想ネットワークの実装で学ぶTCP/IP連載記事一覧

もっと読む

この記事の著者

インドリ(インドリ)

分析・設計・実装なんでもありのフリーエンジニア。ブログ「無差別に技術をついばむ鳥(http://indori.blog32.fc2.com/)」の作者です。アドバイザーをしたり、システム開発したり、情報処理技術を研究したりと色々しています。座右の銘は温故知新で、新旧関係なく必要だと考えたものは全て学...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5170 2010/06/17 10:35

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング