gpt4 book ai didi

c# - 标签未显示在WinForm应用程序中

转载 作者:行者123 更新时间:2023-12-03 11:09:54 28 4
gpt4 key购买 nike

我当时正在为一个类开发WinForm应用程序,但遇到了一个似乎找不到根源的错误。当我运行该应用程序时,除了错误标签(该错误标签应该带有错误的用户输入)之外,其他所有东西都可以工作。起初我以为我为事件处理程序写错了,所以我在启动时不再隐藏它,但标签仍然丢失。我不确定我是否在某些后端文件中丢失了某些内容,或者是否只是丢失了一些明显的内容。

这是创建标签的功能。

private void InitializeErrorLabel()
{
int width = 200, height = 13,
anchorY = this.Label.Location.Y - this.Label.Size.Height - 3;

// Initialize Component
this.ErrorLabel.AutoSize = true;
this.ErrorLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold,
System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.ErrorLabel.ForeColor = System.Drawing.Color.Red;
this.ErrorLabel.Location = new System.Drawing.Point((XSize - width) / 2, (anchorY - height));
this.ErrorLabel.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.ErrorLabel.Name = "ErrorLabel";
this.ErrorLabel.Size = new System.Drawing.Size(width, height);
this.ErrorLabel.Text = "Invalid User ID. Please try again!";
return;
}

这是初始化我的控件的函数:
private void InitializeComponent()
{
this.UserInput = new System.Windows.Forms.TextBox();
this.SwitchMajor = new System.Windows.Forms.RadioButton();
this.SwitchToCS = new System.Windows.Forms.CheckBox();
this.SwitchToCE = new System.Windows.Forms.CheckBox();
this.KeepMajor = new System.Windows.Forms.RadioButton();
this.AcceptValues = new System.Windows.Forms.Button();
this.Label = new System.Windows.Forms.Label();
this.ErrorLabel = new System.Windows.Forms.Label();
this.SuspendLayout();

// Initialize Components
this.InitializeLabel();
this.InitializeMainWindow();
this.InitializeUserInput();
this.InitializeSwitchMajorBtn();
this.InitializeChangeToCSBtn();
this.InitializeChangeToCEBtn();
this.InitializeAcceptValuesBtn();
this.InitializeErrorLabel();

this.ResumeLayout();
this.PerformLayout();
return;
}

再次重申,我不确定自己在做什么错。任何帮助,将不胜感激。

谢谢,

最佳答案

您在什么控件中添加错误标签?

正常的标签初始化应该像

private System.Windows.Forms.Label ErrorLabel;

this.ErrorLabel = new System.Windows.Forms.Label();

this.groupBox2.Controls.Add(this.ErrorLabel);

this.ErrorLabel.AutoSize = true;
this.ErrorLabel.Location = new System.Drawing.Point(8, 59);
this.ErrorLabel.Name = "ErrorLabel";
this.ErrorLabel.Size = new System.Drawing.Size(55, 13);
this.ErrorLabel.TabIndex = 69;
this.ErrorLabel.Text = "Address 2";
this.ErrorLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;

重要

标签必须添加到像我的第三行这样的控件中。您的控件可以是您的情况下的一种形式。在我的情况下,它是一个groupbox,并且必须将group box本身添加到myform中,并且myform必须可见。
 this.groupBox2.Controls.Add(this.ErrorLabel);

关于c# - 标签未显示在WinForm应用程序中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23146357/

28 4 0