TextBox.Text

Hardware97 Messages postés 73 Date d'inscription mardi 5 novembre 2013 Statut Membre Dernière intervention 1 février 2019 - Modifié par Whismeril le 13/04/2015 à 22:26
Whismeril Messages postés 19021 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 16 avril 2024 - 14 avril 2015 à 13:31
Bonjour,

Voici mon code :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.IO;
using Microsoft.Win32;


namespace Esais

{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
       
        private void btnSaveFile_Click(object sender, EventArgs e)
        {
            SaveFileDialog save = new SaveFileDialog();
            save.Title = "Save file";
            if (save.ShowDialog() == DialogResult)
            {
                StreamWriter write = new StreamWriter(File.Create(save.FileName));
             
                write.Write(TextBox.Text);
                write.Dispose();
            }

        }
    }
}

J'obtient une erreur ici : write.write(TextBox.Text);
An object reference is required for the non-static field, method, or property 'System.Windows.Controls.TextBox.Text.get'

Je ne sais pas comment faire, j'ai cherché mais je n'ai pas trouvé de solution :(

PS: Je débute et apprend par moi même donc désolé si la solution était simple comme bonjour

EDIT: Ajout de la coloration syntaxique.

8 réponses

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
13 avril 2015 à 18:20
Il faut mettre le nom de l'objet et non pas le nom du type :
TextBox1.Text
0
Hardware97 Messages postés 73 Date d'inscription mardi 5 novembre 2013 Statut Membre Dernière intervention 1 février 2019
14 avril 2015 à 11:36
Merci pour votre réponse,mais maintenant j'ai cette erreur:'Esais.MainWindow' does not contain a definition for 'TextBox_TextChanged' and no extension method 'TextBox_TextChanged' accepting a first argument of type 'Esais.MainWindow' could be found (are you missing a using directive or an assembly reference?)
0
Whismeril Messages postés 19021 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 16 avril 2024 656
14 avril 2015 à 11:43
Bonjour,

sans plus de précision, on peut supposer que dans ton xalm tu as déclaré que l'événement Chnaged d'un textbox est abonné à la méthode TextBox_TextChanged, or cette méthode n'apparait pas dans la partie C# que tu nous as montrée.

Pour confirmer cela, merci de poster le xaml et le cs mis à jour
0
Hardware97 Messages postés 73 Date d'inscription mardi 5 novembre 2013 Statut Membre Dernière intervention 1 février 2019
14 avril 2015 à 12:05
<Window x:Class="Esais.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="101*"/>
            <ColumnDefinition Width="287*"/>
            <ColumnDefinition Width="129*"/>
        </Grid.ColumnDefinitions>
        <DockPanel Grid.ColumnSpan="2">
            <Menu DockPanel.Dock="Top" Margin="0,0,-127,0">
                <MenuItem Header="_Fichier" Width="70">
                    <MenuItem Header="_Ouvrir">
                        <MenuItem Header="_Utilisateur"/>
                    </MenuItem>
                    <MenuItem Header="_Fermer"/>
                    <MenuItem Header="_Enregister"/>
                    <MenuItem Header="_Enregister sous..."/>
                </MenuItem>
                <MenuItem Header="_Edition" Width="70">
                    <MenuItem Header="_Copier"/>
                    <MenuItem Header="_Coller"/>
                </MenuItem>
            </Menu>
            <StackPanel RenderTransformOrigin="0.5,0.5" Width="516">
                <StackPanel.RenderTransform>
                    <TransformGroup>
                        <ScaleTransform/>
                        <SkewTransform AngleY="-0.147"/>
                        <RotateTransform/>
                        <TranslateTransform Y="-0.497"/>
                    </TransformGroup>
                </StackPanel.RenderTransform>
                <TextBox HorizontalAlignment="Left" Name="Textbox1" Height="238" Margin="58,0,0,0" TextWrapping="Wrap" Text="TextBox" Width="315"/>
            </StackPanel>
            <StackPanel RenderTransformOrigin="0.5,0.5" Width="516">
                <StackPanel.RenderTransform>
                    <TransformGroup>
                        <ScaleTransform/>
                        <SkewTransform AngleY="-0.147"/>
                        <RotateTransform/>
                        <TranslateTransform Y="-0.497"/>
                    </TransformGroup>
                </StackPanel.RenderTransform>
            </StackPanel>
            <StackPanel RenderTransformOrigin="0.5,0.5" Width="516">
                <StackPanel.RenderTransform>
                    <TransformGroup>
                        <ScaleTransform/>
                        <SkewTransform AngleY="-0.147"/>
                        <RotateTransform/>
                        <TranslateTransform Y="-0.497"/>
                    </TransformGroup>
                </StackPanel.RenderTransform>
            </StackPanel>
        </DockPanel>
        <Button Content="Open" Click="btnSaveFile_Click" HorizontalAlignment="Left" VerticalAlignment="Top" Width="104" Margin="28,267,0,0" Height="30" Grid.ColumnSpan="2"/>
        <Button Content="Save" HorizontalAlignment="Left" VerticalAlignment="Top" Width="94" Margin="183,267,0,0" Height="30" Grid.Column="1"/>
    </Grid>
</Window>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Hardware97 Messages postés 73 Date d'inscription mardi 5 novembre 2013 Statut Membre Dernière intervention 1 février 2019
14 avril 2015 à 12:06
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.IO;
using Microsoft.Win32;


namespace Esais

{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
       
        private void btnSaveFile_Click(object sender, EventArgs e)
        {
            SaveFileDialog save = new SaveFileDialog();
            save.Title = "Save File";
            save.Filter = "Text Files (*.txt) |*.txt| All Files (*.*) |*.*";
            if (save.ShowDialog() == DialogResult)
            {
                StreamWriter write = new StreamWriter(File.Create(save.FileName));
             
                write.Write(Textbox1.Text);
                write.Dispose();
                
            }

        }
    }
}
0
Hardware97 Messages postés 73 Date d'inscription mardi 5 novembre 2013 Statut Membre Dernière intervention 1 février 2019
14 avril 2015 à 12:07
Voila le code que j'ai, maintenant je n'ai plus d'erreur mais le fichier ne s'enregistre pas
0
Whismeril Messages postés 19021 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 16 avril 2024 656
Modifié par Whismeril le 14/04/2015 à 13:13
Oui c'est normal

if (save.ShowDialog() == DialogResult)
là tu testes si le resultat de ta boite de dialogue est la valeur par défaut de DialogResult soit None, or le résultat de cette boite est soit OK soit Cancel.
D'autre part je ne vois pas l'utilité de File.Create.


            if (save.ShowDialog() == DialogResult.OK)
            {
                StreamWriter write = new StreamWriter(save.FileName);

                write.Write(Text1.Text);
                write.Dispose();
            } 


Modérer m'amène à intervenir dans de nombreux posts, mais les seuls langages que je connaisses sont le C# et un peu de VB. Pour vos codes pensez à la coloration.
Réponse trouvée ->Question Résolue
0
Hardware97 Messages postés 73 Date d'inscription mardi 5 novembre 2013 Statut Membre Dernière intervention 1 février 2019
Modifié par Hardware97 le 14/04/2015 à 13:19
Merci beaucoup pour vos réponses ! Le problème c'est qu'il me met une erreur ici : if (save.ShowDialog() == DialogResult.OK) Il ne veut pas prendre en compte le .OK même erreur que la 2eme
0
Whismeril Messages postés 19021 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 16 avril 2024 656
14 avril 2015 à 13:20
Quelle 2eme
0
Hardware97 Messages postés 73 Date d'inscription mardi 5 novembre 2013 Statut Membre Dernière intervention 1 février 2019 > Whismeril Messages postés 19021 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 16 avril 2024
14 avril 2015 à 13:22
'System.Nullable<bool>' does not contain a definition for 'OK' and no extension method 'OK' accepting a first argument of type 'System.Nullable<bool>' could be found (are you missing a using directive or an assembly reference?)

Celle ci
0
Whismeril Messages postés 19021 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 16 avril 2024 656
14 avril 2015 à 13:31
Si tu tapes (pas copier coller) DialogResult. normalement une liste déroulante apparait (enfin tu travailles avec Visual Studio...), s'il y a OK dans cette liste clique dessus.
Sinon, dis moi ce qui est proposé et précise moi avec quelle Framework tu travailles.
0
Rejoignez-nous