[英]Best way to put two Controls on each other and manage their visibility - C#
僅舉例來說:
我有兩個文本框,它們都應位於表單的相同位置,且大小均應相同。 由於作弊,我需要使其中一個可見。
好的,一切都很完美:
if (condition)
{
txtBox1.Visible = false;
txtBox2.Visible = true;
}
else
{
txtBox1.Visible = true;
txtBox2.Visible = false;
}
但是design mode
存在一個小問題! 在design mode
,我無法輕松處理和選擇一個文本框,一個文本框發送回去,另一個文本框發送到前面,訪問它們會造成麻煩!
如何通過控制命令和設計來管理這種情況? 我的方式是使兩個控件彼此正確嗎? 有什么更好的辦法嗎?
您可以通過多種方式從這兩種方式中選擇一個。 首先,通過按Tab鍵,直到您找到要選擇的控件。 要優化選擇,您需要首先選擇一個選項卡順序小於這兩個控件的控件。
其次,您可以選擇任何控件並按F4打開屬性窗口。 在屬性窗口的頂部,有一個下拉列表,您可以在其中看到控件名稱。 然后,您可以從此屬性窗口中選擇所需的控件,然后對屬性進行更改。
您可以執行以下操作,這是示例代碼,
txtBox1.Visible = false;
Point loc = new Point(50, 60); //new location point
txtBox2.Location = loc; //changing location of txtBox2
txtBox2.Visible = true;
一種選擇是將一個TextBox
放置在所需的位置(假設textbox1
將在正確的位置),然后將另一個textbox1
放置在設計器附近。 這樣,您可以在設計時輕松選擇它們。
然后,在Form_Load
事件中,只需將textBox2
放在與textbox1
相同的位置:
private void Form1_Load(object sender, EventArgs e)
{
textbox2.Location = textbox1.Location;
textbox2.Visible = false;
一個更好的問題可能是,為什么要這樣做? 文本框是一個文本框,您已經在所需的位置上了。 那里有一個文本框來收集用戶輸入。 為什么要在同一個地方顯示和隱藏另一個? 用戶將不知道它們之間的區別,並且您的程序狀態可能不在乎用戶在其中輸入數據的控件的名稱...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.