Gnrtuga Posted October 21, 2016 at 10:15 AM Report #599796 Posted October 21, 2016 at 10:15 AM (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 October 23, 2016 at 07:20 AM 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.. :)
apocsantos Posted October 21, 2016 at 01:11 PM Report #599807 Posted October 21, 2016 at 01:11 PM 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 Gnrtuga Posted October 21, 2016 at 02:24 PM Author Solution Report #599814 Posted October 21, 2016 at 02:24 PM (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 October 21, 2016 at 02:31 PM 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.. :)
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now