Visual Basic での SDI フォームと MDI フォームの違い
Visual Basic プログラミング環境により、開発者は、Single Document Interface や Multiple Document Interface など、アプリケーションのユーザー インターフェイス モデルを選択できます。最新のアプリケーションの多くは SDI を使用していますが、複数のユーザー インターフェイス タブを使用するプログラムやアプリケーションには MDI の方が適している場合があります。新しい Microsoft Foundation Class (MFC) を使用すると、SDI と MDI の両方のアプリケーションを簡単に操作できます。
SDI について
ほとんどのアプリケーションは、Single Document Interface を使用します。アプリケーションの各ウィンドウには 1 つのドキュメントが保持されるため、ユーザーがそのアプリケーションでさらにドキュメントを開きたい場合は、新しいウィンドウを開く必要があります。これは、Visual Basic でアプリケーションを構築するときの既定のモードでもあります。 Windows のメモ帳は、典型的な SDI アプリケーションの例です。
MDI について
複数のドキュメント インターフェイスは、Windows 95 より前のバージョンの Windows で一般的でしたが、あまり一般的ではなくなりました。 MDI を使用すると、アプリケーション内の各ウィンドウは、通常はサブウィンドウに複数のドキュメントを保持します。新しいドキュメントが既存のウィンドウ内で開き、情報は開いている他のすべてのドキュメントと共有されます。 MDI アプリケーションには、Mozilla Firefox などのタブ付き Web ブラウザーが含まれており、ユーザーは同じウィンドウ内の複数のタブでドキュメントを開くことができます。
SDI の利点
SDI インターフェイスは、複数のモニターと複数の仮想デスクトップで非常にうまく機能します。また、ユーザーは、アプリケーションに書き込む必要のある特別なコードを使用するのではなく、ネイティブの Windows タスクバーとタスク マネージャーを使用して複数の開いているドキュメントを切り替えることができます。
MDI の利点
多くの場合、MDI アプリケーションは、複数のドキュメントを SDI プログラムよりも簡単に処理できます。たとえば、多くの MDI テキスト エディターでは、ユーザーは複数のテキスト ファイルを同じウィンドウに並べて開くことができるため、最初のドキュメントで作業しながら、2 番目のドキュメントの情報を簡単に比較および検索できます。
安定性とパフォーマンス
SDI アプリケーションは、MDI アプリケーションよりも堅牢でバグのない傾向があります。これは、SDI 環境内で 1 つのドキュメントの重大なエラーが他のドキュメントに影響を与えることはめったにないためです。たとえば、1 つの Windows メモ帳ドキュメントがクラッシュした場合、開いている他のメモ帳のコピーは通常、クラッシュしても存続します。一方、Firefox の 1 つの Web ページが原因でブラウザーがクラッシュすると、開いているすべての Web ページがクラッシュします。それにもかかわらず、アプリケーションの 1 つのバージョンのみがメモリにロードされるため、MDI アプリケーションは SDI プログラムよりも高速に実行される傾向があります。