 VB.NET - Onde esta o 
recurso SDI ?
VB.NET - Onde esta o 
recurso SDI ?
Se você já usou as versões do Visual Basic anteriores a plataforma .NET talvez tenha percebido que um recurso que existia no VB5 e VB6 não está mais presente. Estou me referindo a utilização da interface SDI no ambiente de desenvolvimento do Visual Basic.
NO VB5/VB6 era muito simples trabalhar usando a interface SDI, bastava ir no menu Tools opção Options e na guia Advanced marcar a opção - SDI Development Environment;
|  | 
No VB .NET , estou usando a versão VB 2008 Express, não temos mais esta opção. No menu Tools -> Options , selecionando Environment e a opção General temos em Window layout as opções Tabbed documents e Multiple Documents;
|  | 
Sem querer entrar no mérito dos motivos que levaram a Microsoft a não oferecer mais a opção de trabalhar com a interface SDI parece que ela não faz muita falta mesmo pois poucos reclamaram e muitos nem notaram que o recurso sumiu...
Atualmente temos 3 padrões de interfaces com o usuário que parecem que têm atendido a grande maioria das necessidades dos softwares:
Eu ia encerrar o artigo aqui mas aproveitando o assunto vou mostrar uma das maneiras de você criar uma aplicação SDI no VB 2008 Express Edition.
Vou usar o exemplo clássico do editor de textos que abre cada documento em uma nova janela.
Criando um Editor de textos com interface SDI
Abra o VB 2008 Express e crie uma nova aplicação do tipo Windows Forms Application com o nome de EditorSDI;
A seguir no formulário padrão inclua a partir da ToolBox um controle OpenFileDialog - dlgAbrir e um componente MenuStrip e Defina no menu a opção de menu Arquivo e sub-opção Abrir;
Inclua também um TextBox - txtconteudo - com a propriedade Multiline igual a True e a propriedade Anchor igual a : Top, Bottom, Left, Right
|  | 
Agora defina no formulário o namespace System.IO
Defina também a variável arquivoCarregado no formulário conforme abaixo:
Private arquivoCarregado As Boolean = False
Crie um método Main com o seguinte código:
|  Shared Sub Main(ByVal args As String())
        Dim meuform As Form = New Form1()
        Application.Run(meuform)
 End Sub | 
A seguir inclua o seguinte código no evento Click da opção Abrir do menu;
|     Private Sub mnuAbrir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuAbrir.Click
        If dlgAbrir.ShowDialog() = Windows.Forms.DialogResult.OK Then
            Dim frm As Form1
            If arquivoCarregado Then
                frm = New Form1
            Else
                frm = Me
            End If
            frm.txtConteudo.Text = File.ReadAllText(dlgAbrir.FileName)
            frm.Text = "# [" & New FileInfo(dlgAbrir.FileName).Name & "]"
            frm.arquivoCarregado = True
            frm.Show()
        End If
    End Sub | 
Executando o projeto e abrindo 3 documentos poderemos visualizar cada um em uma janela diferente numa típica interface SDI.
|  | 
Pegue o projeto completo aqui: 
 Editor-SDI.zip
 Editor-SDI.zip
Eu sei é apenas VB .NET , mas eu gosto... 

referências:
José Carlos Macoratti