仅举例:
我有两个文本框,两个文本框应该位于表单的相同位置,并且两个文本框的大小相同。 由于懊悔,我需要让其中一个看得见。
好的,一切都很完美:
if (condition)
{
txtBox1.Visible = false;
txtBox2.Visible = true;
}
else
{
txtBox1.Visible = true;
txtBox2.Visible = false;
}
但是design mode
中存在一个小问题!我无法在design mode
中轻松处理和选择一个文本框,一个发送回来,一个发送到前面,访问它们会导致麻烦!
如何通过控制订购和设计来管理这种情况?我的方式是将两个控制权交给对方吗?有没有更好的方法?
答案 0 :(得分:1)
您可以通过多种方式从这两个控件中选择一个控件。首先,按Tab键直到你想要选择的控件上。要优化选择,您需要先选择一个不同的控件,其Tab键顺序小于这两个控件。
其次,您可以选择任何控件并点击F4打开属性窗口。在属性窗口的顶部有一个下拉列表,您可以在其中看到控件名称。然后,您可以从此属性窗口中选择您选择的控件,并对属性进行更改。
答案 1 :(得分:1)
你可以做这样的事情,这是示例代码,
txtBox1.Visible = false;
Point loc = new Point(50, 60); //new location point
txtBox2.Location = loc; //changing location of txtBox2
txtBox2.Visible = true;
答案 2 :(得分:1)
一种选择是将一个TextBox
放在您想要的位置(假设textbox1
将位于正确的位置)并将另一个文本框放在设计器附近。这样您就可以在设计时轻松选择它们。
然后,在Form_Load
事件中,您只需将textBox2
放在与textbox1
相同的位置:
private void Form1_Load(object sender, EventArgs e)
{
textbox2.Location = textbox1.Location;
textbox2.Visible = false;
更好的问题可能是,你为什么要这样做?文本框是一个文本框,您已经拥有了一个所需的位置。文本框用于收集用户输入。为什么要在同一个地方展示和隐藏另一个?用户不会知道差异,您的程序状态可能不关心用户输入数据的控件的名称......