如何让“关于”框出现在C#中?

时间:2009-12-29 23:03:25

标签: c# about-box

我在C#项目中使用名为AboutBox1的Microsoft Visual C#2008 Express Edition有一个About框。我已经在设计视图中查看了我想要的内容,但是如何在单击“帮助”菜单中的“关于”链接时显示它?

此代码会显示“关于”框,但它看起来是空白的。这不是我设计的那个。

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

任何想法或建议将不胜感激。感谢。

6 个答案:

答案 0 :(得分:15)

知道了。

“约”框被驱逐出项目的装配属性。

转到项目 - > 'ProjectName'属性 - >装配信息。

您可以在那里设置所有信息。

如果您尝试在属性资源管理器中设置信息,则只会在运行时覆盖此窗口中的信息。

干杯, 麦克

答案 1 :(得分:9)

对我而言,这听起来就像是一个笨拙的设计师表面......你有没有得到保存并重建它?也许关闭IDE,重新打开它,检查你精心设计的表格是否还很漂亮?

BTW,在使用ShowDialog时,您还应该使用using(因为Dispose()显示时它不会ShowDialog

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

答案 2 :(得分:3)

您是否在AboutBox - 表单的构造函数中删除了对'InitializeComponent'的方法调用?

你的构造函数至少应该是这样的:

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

其中InitializeComponent方法调用应该是构造函数中的第一行。

答案 3 :(得分:0)

如果出现但是空白,则问题出在AboutBox1中。向我们展示一些代码。

答案 4 :(得分:0)

之前我遇到过同样的问题但我通过删除InitializeComponent();

下面的陈述解决了这个问题

默认代码:

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;
    }
}

我的最终代码:

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

答案 5 :(得分:0)

我找不到项目/项目名称/程序集属性。

但在“InitializeComponent();”之后评论出来的行为我工作了。

这就是我的看法:

 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;
    }

如果您是像我这样的人,要找到这些行,请单击项目浏览器中的AboutBox,然后点击“查看代码”按钮“<>”。