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
Eu sei é apenas VB .NET , mas eu gosto...
referências:
José Carlos Macoratti