Exemple #1
0
        private void ArchivoAbrirDoc2(FormDocumento2 FormHijo)
        {
            // PARA PRUEBAS SUPONEMOS EL MISMO TIPO DE DOCUMENTO: .txt y .rtf
            // Mostrar el diálogo Abrir
            OpenFileDialog DlgAbrir = new OpenFileDialog();

            DlgAbrir.Filter = "ficheros txt (*.txt)|*.txt|ficheros rtf (*.rtf)|*.rtf";
            if (DlgAbrir.ShowDialog() == DialogResult.OK)
            {
                // Obtener el nombre del fichero
                string ruta = DlgAbrir.FileName;
                // Obtener el formato del fichero
                RichTextBoxStreamType formato = RichTextBoxStreamType.PlainText;
                if (DlgAbrir.FilterIndex == 2)
                {
                    formato = RichTextBoxStreamType.RichText;
                }
                // Cargar el fichero
                FormHijo.rtbText.LoadFile(ruta, formato);
                // Mostrar el nombre del fichero en la barra de título
                FormHijo.Text = ruta.Substring(ruta.LastIndexOf("\\") + 1);
                // Mostrar la ruta del fichero en la barra de estado
                this.etbarestPpal.Text = ruta;
                // Aún no ha sido modificado
                FormHijo.rtbText.Modified = false;
            }
        }
Exemple #2
0
        private void FormDocumento2_FormClosing(object sender, FormClosingEventArgs e)
        {
            // Formulario hijo activo
            FormDocumento2 FormHijo = this;

            if (FormHijo == null)
            {
                return;
            }

            // Si el texto cambió...
            if (FormHijo.rtbText.Modified)
            {
                //Preguntar al usuario si quiere guardar el documento
                DialogResult respuesta;
                respuesta = MessageBox.Show("¿Desea guardar los cambios efectuados en " +
                                            this.Text + "?", "Editor MDI", MessageBoxButtons.YesNoCancel);
                if (respuesta == DialogResult.Yes)
                {
                    btbarGuardar.PerformClick();
                }
                else if (respuesta == DialogResult.No)
                {
                    e.Cancel = false;
                }
                else // cancelar
                {
                    e.Cancel = true; // evento cancelado
                }
            }
        }
Exemple #3
0
        private void ArchivoGuardar_Click(object sender, EventArgs e)
        {
            // Formulario padre
            FormMDI formPadre = (FormMDI)this.MdiParent;

            // Formulario hijo activo
            FormDocumento2 FormHijo = this;

            if (FormHijo == null)
            {
                return;
            }

            // Si el texto cambió...
            if (FormHijo.rtbText.Modified)
            {
                // Obtener la ruta actual del fichero
                string ruta = formPadre.etbarestPpal.Text;
                // Obtener el formato actual del fichero
                RichTextBoxStreamType formato = RichTextBoxStreamType.PlainText;
                if (ruta.EndsWith("rtf"))
                {
                    formato = RichTextBoxStreamType.RichText;
                }

                if (FormHijo.Text.StartsWith("Documento"))
                {
                    // Mostrar el diálogo Guardar
                    SaveFileDialog DlgGuardar = new SaveFileDialog();
                    DlgGuardar.Filter =
                        "ficheros txt (*.txt)|*.txt|ficheros rtf (*.rtf)|*.rtf";

                    if (DlgGuardar.ShowDialog() == DialogResult.OK)
                    {
                        // Obtener el nombre del fichero
                        ruta = DlgGuardar.FileName;
                        // Obtener el formato del fichero
                        if (DlgGuardar.FilterIndex == 1)
                        {
                            formato = RichTextBoxStreamType.PlainText;
                        }
                        else if (DlgGuardar.FilterIndex == 2)
                        {
                            formato = RichTextBoxStreamType.RichText;
                        }
                    }
                }

                // Guardar el fichero
                FormHijo.rtbText.SaveFile(ruta, formato);
                // Mostrar el nombre del fichero en la barra de título
                FormHijo.Text = ruta.Substring(ruta.LastIndexOf("\\") + 1);
                // Mostrar la ruta del fichero en la barra de estado
                formPadre.etbarestPpal.Text = ruta;
                // Fichero no modificado
                FormHijo.rtbText.Modified = false;
            }
        }
Exemple #4
0
        private void EdicionCopiar_Click(object sender, EventArgs e)
        {
            FormDocumento2 FormHijo = this;

            // Verificar si hay texto seleccionado
            if (FormHijo.rtbText.SelectedText != "")
            {
                // Copiar el texto seleccionado y ponerlo en la papelera
                FormHijo.rtbText.Copy();
            }
        }
Exemple #5
0
        private void ArchivoNuevo2_Click(object sender, EventArgs e)
        {
            FormDocumento2 NuevoFormHijo;

            //Crear un nuevo formulario hijo
            NuevoFormHijo = new FormDocumento2();
            //Título del formulario hijo
            NuevoFormHijo.Text = "Documento " + MdiChildren.Length.ToString();
            //Establecer el formulario padre del hijo
            NuevoFormHijo.MdiParent = this;
            //Mostrar el formulario hijo
            NuevoFormHijo.Show();
        }
Exemple #6
0
        private void EdicionPegar_Click(object sender, EventArgs e)
        {
            FormDocumento2 FormHijo = this;

            // Verificar si hay texto en la papelera para pegar
            if ((Clipboard.GetDataObject().GetDataPresent(DataFormats.Text)) == true)
            {
                // Verificar si hay texto seleccionado
                if (FormHijo.rtbText.SelectionLength > 0)
                {
                    // Preguntar al usuario si quiere sobreescribir el texto seleccionado
                    if (MessageBox.Show("¿Quiere sobreescribir la selección?", "Pegar", MessageBoxButtons.YesNo) == DialogResult.No)
                    {
                        // Mover el punto de inserción después de la selección y pegar
                        FormHijo.rtbText.SelectionStart = FormHijo.rtbText.SelectionStart + FormHijo.rtbText.SelectionLength;
                    }
                }
                // Pegar el contenido de la papelera
                FormHijo.rtbText.Paste();
            }
        }
Exemple #7
0
        private void ArchivoAbrir_Click(object sender, EventArgs e)
        {
            if (this.ActiveMdiChild == null)
            {
                MessageBox.Show("Cree primero un nuevo documento");
                return;
            }
            if (this.ActiveMdiChild.GetType().Equals(Type.GetType("EditorMDI.FormDocumento")))
            {
                // Formulario hijo activo
                FormDocumento FormHijo = (FormDocumento)ActiveMdiChild;

                // Si no hay ningún formulario hijo creado, crear uno
                // ejecutando el método ArchivoNuevo_Click
                if (FormHijo == null)
                {
                    ArchivoNuevo.PerformClick();
                    FormHijo = (FormDocumento)ActiveMdiChild;
                }
                ArchivoAbrirDoc(FormHijo);
            }
            if (this.ActiveMdiChild.GetType().Equals(Type.GetType("EditorMDI.FormDocumento2")))
            {
                // Formulario hijo activo
                FormDocumento2 FormHijo = (FormDocumento2)ActiveMdiChild;

                // Si no hay ningún formulario hijo creado, crear uno
                // ejecutando el método ArchivoNuevo_Click
                if (FormHijo == null)
                {
                    ArchivoNuevo.PerformClick();
                    FormHijo = (FormDocumento2)ActiveMdiChild;
                }
                ArchivoAbrirDoc2(FormHijo);
            }
        }