簡體   English   中英

將兩個控件相互放置並管理其可見性的最佳方法-C#

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM