禁用文本框在" design"之后不起作用。改变

时间:2016-07-18 09:47:07

标签: c# winforms

我的文本框有一个奇怪的问题。我有一个带2个按钮的文本框:保存和修改。如果我点击保存我想要禁用文本框,如果我点击修改启用它。

它不起作用。即使点击保存后我仍然可以修改文本。其他奇怪的事情,我禁用了修改按钮,但加载表单时文本的fontcolor没有改变。为什么呢?

这是我的代码:

private void Form1_Load(object sender, EventArgs e)
{
    Modifybutton.Enabled = false;
}    

private void Savebutton_Click(object sender, EventArgs e)
{
    NameBox.Enabled = false;
    Savebutton.Enabled = false;
    Modifybutton.Enabled = true;
}

private void Modifybutton_Click(object sender, EventArgs e)
{
    NameBox.Enabled = true;
    Savebutton.Enabled = true;
}

我改变了一些图形,我认为问题来自于......

this.NameBox.BackColor = System.Drawing.SystemColors.InfoText;
this.NameBox.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.NameBox.ForeColor = System.Drawing.SystemColors.MenuBar;
this.NameBox.Location = new System.Drawing.Point(358, 50);
this.NameBox.Name = "NameBox";
this.NameBox.Size = new System.Drawing.Size(225, 26);
this.NameBox.TabIndex = 2;
this.NameBox.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;

this.Modifybutton.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Modifybutton.Location = new System.Drawing.Point(394, 161);
this.Modifybutton.Name = "Modifyinfo";
this.Modifybutton.Size = new System.Drawing.Size(172, 32);
this.Modifybutton.TabIndex = 8;
this.Modifybutton.Text = "Modifier";
this.Modifybutton.UseVisualStyleBackColor = true;

它使用另一种形式,完全相同的代码。唯一的区别是设计。谢谢。

1 个答案:

答案 0 :(得分:1)

这可以解决您的问题,禁用和字体颜色不会改变:

Application.SetCompatibleTextRenderingDefault(false);
  

为某些控件上定义的UseCompatibleTextRendering属性设置应用程序范围的默认值。 MSDN