我的文本框有一个奇怪的问题。我有一个带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;
它使用另一种形式,完全相同的代码。唯一的区别是设计。谢谢。
答案 0 :(得分:1)
这可以解决您的问题,禁用和字体颜色不会改变:
Application.SetCompatibleTextRenderingDefault(false);
为某些控件上定义的UseCompatibleTextRendering属性设置应用程序范围的默认值。 MSDN