我在C#项目中使用名为AboutBox1的Microsoft Visual C#2008 Express Edition有一个About框。我已经在设计视图中查看了我想要的内容,但是如何在单击“帮助”菜单中的“关于”链接时显示它?
此代码会显示“关于”框,但它看起来是空白的。这不是我设计的那个。
private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
{
AboutBox1 box = new AboutBox1();
box.ShowDialog();
}
任何想法或建议将不胜感激。感谢。
答案 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,然后点击“查看代码”按钮“<>”。