因此,我试图创建一个小程序,在其中单击空文本框时,将出现一个对话框,并更改文本框的背景。现在,我尝试使用下面的代码,但是它什么也没做。文本框处于只读模式。任何帮助都非常感谢。
private void textBox1_Enter(object sender, System.EventArgs e)
{
colorDialog1.ShowDialog();
textBox1.BackColor = colorDialog1.Color;
}
答案 0 :(得分:0)
(如果您使用的是Windows窗体(我假设您使用的是Windows窗体),则应对其进行标记,并且不应该带有“ Visual Studio”标记)
如果我创建Windows Forms应用,请在表单上放置一个文本框和一个“颜色对话框”,然后添加以下代码:
private void textBox1_Enter(object sender, EventArgs e)
{
if (colorDialog1.ShowDialog() == DialogResult.OK)
{
textBox1.BackColor = colorDialog1.Color;
}
}
... up弹出“颜色”对话框。如果我选择一种颜色并按OK,则文本框的背面颜色会更改。我在没有将ReadOnly设置为true的情况下尝试了此操作(我很惊讶您可以“输入”只读文本框,但是...)。
那么,您是否看到弹出的颜色对话框,选择一种颜色并按OK,然后什么都看不到?真令人惊讶或者,您还有其他事情吗?
就其价值而言,这不是一个很棒的UI设计。我不希望由于单击文本框而弹出另一个对话框。另请注意,这可能仅发生一次。在文本框中单击后,即已输入。您必须先将焦点设置在另一个控件上,然后再次单击文本框。如果您单击上方的同一地点,则只会在第一次输入。