Jump to content

OpenDialogBox


Go to solution Solved by Gnrtuga,

Recommended Posts

Posted (edited)

Olá pessoal, ando aqui meio perdido e preciso de ajuda...

Portanto no Visual Studio 2012 para mostrar uma OpenDialogBox era só arrastar o controlo para dentro do formulário, e depois tratar do controlo no código, até ai tudo bem.

No Visual Studio 2015 o controlo OpenDialogBox já não aparece na caixa de ferramentas... Como é que faço para que o utilizador escolha qual o ficheiro a abrir?

Andei no XAML, e no C# e não dou com isto, as pesquisas no Google não estão a retornar os resultados pretendidos...

Será que tenho que fazer referência a alguma coisa e não estou a fazer?

Alguma ideia?

Obrigado! 🙂

Edited by Gnrtuga
Para colocar como resolvido

Férias! Estou por aqui: http://maps.google.p...001549&t=h&z=20 (a bulir claro está!)

Nunca mais é verão outra vez.. :)

Posted

Boa tarde,

Deduzo que estejas a usar uma versão da .net framework acima da 4.5.

 

<UserControl x:Class="SL_OpenFileDialog_VB.Page"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Width="400" Height="300">
    <Grid x:Name="LayoutRoot" Background="White">
        <Button x:Name="bOpenFileDialog" Content="Open File"
                 Height="30" Width="60" Margin="10"
                 HorizontalAlignment="Left" VerticalAlignment="Top" 
                 Click="bOpenFileDialog_Click" />

        <TextBox x:Name="tbResults" Text="Silverlight Results"
                 Height="30" Width="300" Margin="10,50"
                 HorizontalAlignment="Left" VerticalAlignment="Top" 
                 Background="Beige" />
    </Grid>
</UserControl>

E o código C# para a openDialogBox

using System.Windows;
using System.Windows.Controls;

        private void bOpenFileDialog_Click(object sender, RoutedEventArgs e)
        {
         
            OpenFileDialog openFileDialog1 = new OpenFileDialog();

         
            openFileDialog1.Filter = "Ficheiros de texto (.txt)|*.txt|Todos (*.*)|*.*";
            openFileDialog1.FilterIndex = 1;

            openFileDialog1.Multiselect = true;

            
            bool? userClickedOK = openFileDialog1.ShowDialog();

            
            if (userClickedOK == true)
            {
            
                System.IO.Stream fileStream = openFileDialog1.File.OpenRead();

                using (System.IO.StreamReader reader = new System.IO.StreamReader(fileStream))
                {
            
                    tbResults.Text = reader.ReadLine();
                }
                fileStream.Close();
            }
        }
    }
}

Cordiais cumprimentos,

Apocsantos

"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

  • Solution
Posted (edited)
// adicionei isto na MainPage.cs
using Windows.Storage;
using Windows.Storage.Pickers;
using Windows.UI.Xaml.Navigation;
using Windows.UI.Popups;

// no EventHandler do botão tive que acrescentar async
 private async void AbreButton_Click(object sender, RoutedEventArgs e)
        {
            FileOpenPicker picker = new FileOpenPicker();
            picker.FileTypeFilter.Add(".txt");
            StorageFile file = await picker.PickSingleFileAsync();
            FileNameTextBox.Text = file.Path;
            string text = await FileIO.ReadTextAsync(file);

        }

Apocsantos, obrigado pela rápida resposta.

Esse código é mais ou menos o que eu tinha no projeto anterior WPF no Visual Studio 2012 Desktop  e que funciona ( quanto à .netframework , sou um bocado básico e não sei qual é).

Felizmente fiz uma nova pesquisa (termos diferentes, resultados diferentes) e lá encontrei o que queria

Tive que editar o post porque ao meter o código limpou-me o que já tinha escrito, o código fica em cima que eu não o consigo meter em baixo 🙂

Edited by Gnrtuga
texto desapareceu ao inserir o código

Férias! Estou por aqui: http://maps.google.p...001549&t=h&z=20 (a bulir claro está!)

Nunca mais é verão outra vez.. :)

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.