2009-12-29 10 views
10

Tengo un cuadro Acerca de en mi proyecto de C# utilizando Visual C# 2008 Express Edition de Microsoft llamado AboutBox1. Lo he hecho ver como lo quiero en la vista de diseño, pero ¿cómo lo hago aparecer cuando se hace clic en el enlace Acerca de en el menú Ayuda?¿Cómo obtengo el cuadro Acerca de para que aparezca en C#?

Este código hace que aparezca un cuadro Acerca de, pero se ve en blanco. No es el que diseñé.

private void aboutToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
    AboutBox1 box = new AboutBox1(); 
    box.ShowDialog(); 
    } 

Cualquier pensamiento o sugerencia sería apreciada. Gracias.

+0

Quizás mi ejemplo de código sea engañoso. Originalmente, estaba pensando que podría hacer algo como AboutBox1.ShowDialog(); pero ShowDialog() no parece ser un miembro de AboutBox1. –

Respuesta

13

Lo tengo.

La caja de acercamiento es eliminada de las propiedades de ensamblaje para su proyecto.

Vaya al proyecto -> Propiedades de 'ProjectName' -> Información de ensamblaje.

Establece toda la información allí.

Si intenta establecer la información en el Explorador de propiedades, simplemente se sobrescribirá en tiempo de ejecución por lo que haya en esta ventana.

Saludos, Mike

+0

¡Gracias por el aviso, Mike! –

9

Me suena como una superficie de diseño borked ... ¿has pulsado guardar y reconstruirlo? ¿Quizás cierre el IDE, vuelva a abrirlo y compruebe que su forma cuidadosamente diseñada sigue siendo bonita?

Por cierto, cuando se utiliza ShowDialog también debería utilizar using (ya que no lo hace a sí mismo cuando Dispose() muestra con ShowDialog):

using(AboutBox1 box = new AboutBox1()) { 
    box.ShowDialog(this); 
} 
3

¿Ha retirado el método de llamada a 'InitializeComponent' en el constructor de su AboutBox - formulario?

Su constructor debe al menos tener este aspecto:

public partial class AboutBox : Form 
    { 
     public AboutBox() 
     { 
      InitializeComponent(); 
     } 
    } 

Cuando la llamada al método InitializeComponent debe ser la primera línea en el constructor.

+0

si elimina InitializeComponent() del constructor, recibirá una excepción de tiempo de ejecución. –

+0

No, no obtendrá una excepción de tiempo de ejecución. Lo has probado ? Cree un nuevo winforms-project, agregue un botón en el formulario y elimine la línea InitializeComponent del constructor ... –

0

Si aparece pero está en blanco, el problema está en AboutBox1. Muéstranos algo de ese código.

0

me enfrentaba mismo problema antes, pero lo resolví mediante la eliminación de las declaraciones a continuación el código InitializeComponent();

defecto:

partial class AboutBox1 : Form 
{ 
    public AboutBox1() 
    { 
     InitializeComponent(); 
     this.Text = String.Format("About {0} {0}", AssemblyTitle); 
     this.labelProductName.Text = AssemblyProduct; 
     this.labelVersion.Text = String.Format("Version {0} {0}", AssemblyVersion); 
     this.labelCopyright.Text = AssemblyCopyright; 
     this.labelCompanyName.Text = AssemblyCompany; 
     this.textBoxDescription.Text = AssemblyDescription; 
    } 
} 

Mi código final:

partial class AboutBox1 : Form 
{ 
    public AboutBox1() 
    { 
     InitializeComponent(); 
    } 
} 
+1

Me quedaría al menos en la línea de la versión. Como quiera que sea, debe actualizar la versión en dos lugares cada vez que cambie. Y debes olvidarte uno. – CodesInChaos

0

No pude encontrar las propiedades del proyecto/nombre del proyecto/ensamblaje.

Pero comentar las líneas después de "InitializeComponent();" funcionó para mí.

Así es como la mía se ve:

public frmAboutBox1() 
    { 
     InitializeComponent(); 
     //this.Text = String.Format("About {0}", AssemblyTitle); 
     //this.labelMyFFEProductName.Text = AssemblyProduct; 
     //this.labelVersion.Text = String.Format("Version {0}", AssemblyVersion); 
     //this.labelCopyright.Text = AssemblyCopyright; 
     //this.labelCompanyName.Text = AssemblyCompany; 
     //this.textBoxDescription.Text = AssemblyDescription; 
    } 

Si usted es un aficionado como yo, para encontrar estas líneas, haga clic en el AboutBox en el Exploer proyecto, y pulsa el botón "Ver código" "<>" .

+0

¿Es esta una respuesta? Espero que la comenten antes de publicarla como respuesta. – Dipak

Cuestiones relacionadas