[ Foro de C# ]

windows form visual studio 2013

06-Aug-2014 17:39
Invitado (naty)
3 Respuestas

hola, hice un editor de texto en windows form, el unico  problema es que si intento abrir un archivo con el boton derecho con este editor, me lo abre en blanco, ahora si abro el mismo archivo desde el editor con la opcion de abrir me lo abre correctamente y me muestra la informacion que contiene. quisiera saber cual puede ser el error. desde ya muchas gracias


07-Aug-2014 12:28
Nacho Cabanes (+83)

Si estás llamado a la misma función desde los dos sitios, no debería ocurrir.

Sin ver el código no puedo decirte más, pero suena a que estás duplicando código en vez de reutilizarlo, y que en uno de los dos sitios te falta algún detalle.


08-Aug-2014 00:10
Invitado (naty)

este es el codigo


namespace WindowsFormsApplication1
{
    public partial class Editor : Form
    {
        string archivo;
        public Editor()
        {
            InitializeComponent();
        }

        private void richTextBox1_TextChanged(object sender, EventArgs e)
        {
                    }

        private void ayudaToolStripMenuItem_Click(object sender, EventArgs e)
        {

        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void archivoToolStripMenuItem_Click(object sender, EventArgs e)
        {

        }

        private void richTextBox1_TextChanged_1(object sender, EventArgs e)
        {


        }

        private void abrirToolStripMenuItem_Click(object sender, EventArgs e)
        {
            OpenFileDialog Open = new OpenFileDialog();
            Open.Filter = "Text [*.txt*]|*.txt|All Files [*,*]|*,*";
            Open.Title = "Abrir Archivo";
            if (Open.ShowDialog() == DialogResult.OK)
            {
                archivo = Open.FileName;
                using (StreamReader sr = new StreamReader(archivo))
                {
                    richTextBox1.Text = sr.ReadToEnd();
                }
            }
        }

        private void salirToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void guardarToolStripMenuItem_Click(object sender, EventArgs e)
        {
            SaveFileDialog savefile = new SaveFileDialog();
            savefile.Filter = "Text [*.txt*]|*.txt|All Files [*,*]|*,*";
            if (archivo != null)
            {
                using (StreamWriter sw= new StreamWriter(archivo))
                {
                    sw.Write(richTextBox1.Text);
                }
               
            }
            else
            {
                if (savefile.ShowDialog() == DialogResult.OK) 
                {
                    archivo = savefile.FileName;
                    using (StreamWriter sw = new StreamWriter(savefile.FileName))
                    {
                        sw.Write(richTextBox1.Text);
                    }
                }
            }
        }

        private void acercadeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Este programa fue echo por Natalia Tavora");

        }

        private void nuevoToolStripMenuItem_Click(object sender, EventArgs e)
        {
            richTextBox1.Clear();
            archivo=null;
    }

        private void deshacerToolStripMenuItem_Click(object sender, EventArgs e)
        {
            richTextBox1.Undo();
            
        }

        private void copiarToolStripMenuItem_Click(object sender, EventArgs e)
        {
            richTextBox1.Copy();
        }

        private void pegarToolStripMenuItem_Click(object sender, EventArgs e)
        {
            richTextBox1.Paste();
        }

        private void cortarToolStripMenuItem_Click(object sender, EventArgs e)
        {
            richTextBox1.Cut();
        }

        private void rehacerToolStripMenuItem_Click(object sender, EventArgs e)
        {
            richTextBox1.Redo();
        }

        private void seleccionartodoToolStripMenuItem_Click(object sender, EventArgs e)
        {
            richTextBox1.SelectAll();
        }

        private void menuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {

        }

        private void opcionesToolStripMenuItem_Click(object sender, EventArgs e)
        {

        }

        private void cambriaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            richTextBox1.Font = new Font("Cambria", 10);
        }

        private void butonSketchToolStripMenuItem_Click(object sender, EventArgs e)
        {

        }

        private void calibriToolStripMenuItem_Click(object sender, EventArgs e)
        {
            richTextBox1.Font = new Font("Calibri", 10);
        }

        private void buttonSketcToolStripMenuItem_Click(object sender, EventArgs e)
        {

        }

        private void arialToolStripMenuItem_Click_1(object sender, EventArgs e)
        {
            richTextBox1.Font = new Font("Arial", 10);
        }

        private void herramientasToolStripMenuItem_Click(object sender, EventArgs e)
        {

        }

        private void estiloDeFuenteToolStripMenuItem_Click(object sender, EventArgs e)
        {
            FontDialog fuente = new FontDialog();
            fuente.Font = richTextBox1.Font;
            if (fuente.ShowDialog() == DialogResult.OK)
            {
                richTextBox1.Font = fuente.Font;
            }
        }

        private void colorDeFuenteToolStripMenuItem_Click(object sender, EventArgs e)
        {
            ColorDialog color = new ColorDialog();
            if (color.ShowDialog() == DialogResult.OK)
            {
               richTextBox1.ForeColor = color.Color;
            }
        }

        private void fondoToolStripMenuItem_Click(object sender, EventArgs e)
        {
            ColorDialog fondo = new ColorDialog();
            
            if (fondo.ShowDialog() == DialogResult.OK)
            {
                richTextBox1.BackColor = fondo.Color;
            }
            
        }

    }
}


 


12-Aug-2014 21:16
Nacho Cabanes (+83)

"abrirToolStripMenuItem_Click" parece razonable, y, por el nombre, imagino que es la opción que se lanza al pulsar en el menú.

Pero ese código no parece llamarse desde ningún otro sitio, así que el problema puede ser el que te decía antes: que no estés reutilizando ese código o, al menos, no lo estés haciendo de forma correcta.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)