Form MDI + Status Bar

27/12/2005 - 22:08 por Armando | Informe spam
Cordial Saludo,
Tengo un formulario MDI que tiene en la parte inferior un Status Bar con
datos. Cuando abro otro formulario dentro del anterior ¿ Cómo hago para
capturar un dato del status bar del formulario principal?

gracias!

Preguntas similare

Leer las respuestas

#1 José Antonio
28/12/2005 - 11:12 | Informe spam
Te tienes que referir al MdiParent de este nuevo formulario que es el
formulario principal y acceder al statusbar, por supuesto el statusbar tiene
que ser publico.

"Armando" escribió en el mensaje
news:
Cordial Saludo,
Tengo un formulario MDI que tiene en la parte inferior un Status Bar con
datos. Cuando abro otro formulario dentro del anterior ¿ Cómo hago para
capturar un dato del status bar del formulario principal?

gracias!
Respuesta Responder a este mensaje
#2 Armando
28/12/2005 - 13:56 | Informe spam
esa es la ideapero Cómo?

"José Antonio" escribió:

Te tienes que referir al MdiParent de este nuevo formulario que es el
formulario principal y acceder al statusbar, por supuesto el statusbar tiene
que ser publico.

"Armando" escribió en el mensaje
news:
> Cordial Saludo,
> Tengo un formulario MDI que tiene en la parte inferior un Status Bar con
> datos. Cuando abro otro formulario dentro del anterior ¿ Cómo hago para
> capturar un dato del status bar del formulario principal?
>
> gracias!



Respuesta Responder a este mensaje
#3 Guerrero
28/12/2005 - 15:55 | Informe spam
Hola Armando, aqui tienes un ejemplo de como acceder a la barra de estado del
formulario padre desde un formulario hijo de MDI.

//////////////////////////////////////// Formulario principal

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

namespace MdiEjemplo
{
/// <summary>
/// Descripción breve de Form1.
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
public System.Windows.Forms.StatusBar BarraDeEstado;
/// <summary>
/// Variable del diseñador requerida.
/// </summary>
private System.ComponentModel.Container components = null;

public Form1()
{
//
// Necesario para admitir el Diseñador de Windows Forms
//
InitializeComponent();
Hijo j = new Hijo(this);
j.Show();
//
// TODO: agregar código de constructor después de llamar a
InitializeComponent
//
}

/// <summary>
/// Limpiar los recursos que se estén utilizando.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}

#region Código generado por el Diseñador de Windows Forms
/// <summary>
/// Método necesario para admitir el Diseñador. No se puede modificar
/// el contenido del método con el editor de código.
/// </summary>
private void InitializeComponent()
{
this.BarraDeEstado = new System.Windows.Forms.StatusBar();
this.SuspendLayout();
//
// BarraDeEstado
//
this.BarraDeEstado.Location = new System.Drawing.Point(0, 485);
this.BarraDeEstado.Name = "BarraDeEstado";
this.BarraDeEstado.Size = new System.Drawing.Size(624, 22);
this.BarraDeEstado.TabIndex = 1;
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(624, 507);
this.Controls.Add(this.BarraDeEstado);
this.IsMdiContainer = true;
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false);

}
#endregion

/// <summary>
/// Punto de entrada principal de la aplicación.
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
}
}


/////////////////////////////////////// Formulario Hijo el cual se accede a
la barra de estado



using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;

namespace MdiEjemplo
{
/// <summary>
/// Descripción breve de Hijo.
/// </summary>
public class Hijo : System.Windows.Forms.Form
{
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Button button1;
/// <summary>
/// Variable del diseñador requerida.
/// </summary>
private System.ComponentModel.Container components = null;

public Hijo(Form f)
{
//
// Necesario para admitir el Diseñador de Windows Forms
//
InitializeComponent();

// Establecemos el formulario MdiParent
this.MdiParent = f;


//
// TODO: agregar código de constructor después de llamar a
InitializeComponent
//
}

/// <summary>
/// Limpiar los recursos que se estén utilizando.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if(components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}

#region Código generado por el Diseñador de Windows Forms
/// <summary>
/// Método necesario para admitir el Diseñador. No se puede modificar
/// el contenido del método con el editor de código.
/// </summary>
private void InitializeComponent()
{
this.textBox1 = new System.Windows.Forms.TextBox();
this.button1 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(16, 16);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(240, 20);
this.textBox1.TabIndex = 0;
this.textBox1.Text = "";
//
// button1
//
this.button1.Location = new System.Drawing.Point(16, 48);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(232, 23);
this.button1.TabIndex = 1;
this.button1.Text = "Cambiar barra de estado";
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// Hijo
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.BackColor = System.Drawing.Color.Red;
this.ClientSize = new System.Drawing.Size(292, 271);
this.Controls.Add(this.button1);
this.Controls.Add(this.textBox1);
this.Name = "Hijo";
this.Text = "Hijo";
this.ResumeLayout(false);

}
#endregion

private void button1_Click(object sender, System.EventArgs e) {
if(this.MdiParent is Form1){
Form1 padre = this.MdiParent as Form1;
padre.BarraDeEstado.Text = this.textBox1.Text;
}
}
}
}


Saludos.


"Armando" escribió:

esa es la ideapero Cómo?

"José Antonio" escribió:

> Te tienes que referir al MdiParent de este nuevo formulario que es el
> formulario principal y acceder al statusbar, por supuesto el statusbar tiene
> que ser publico.
>
> "Armando" escribió en el mensaje
> news:
> > Cordial Saludo,
> > Tengo un formulario MDI que tiene en la parte inferior un Status Bar con
> > datos. Cuando abro otro formulario dentro del anterior ¿ Cómo hago para
> > capturar un dato del status bar del formulario principal?
> >
> > gracias!
>
>
>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida