簡體   English   中英

如何在Winforms中相對於文本框動態定位列表框

[英]How to dynamically position a listbox in relation to textbox in winforms

我目前正在使用Winforms編寫網格。 我有多個組成每個單元格的文本框。 當我單擊單元格時,我想顯示一個列表框(這是我之前通過設計器添加的單個預定義列表框,因此每個單元格都具有相同的列表框)。

現在我的問題是如何將列表框放在文本框下面?

我需要使用的事件我已經知道了(當我在那兒使用框架時,我需要在那兒使用事件,並且已經知道合適的事件可以在其中使列表框可見和不可見)。 我在事件中具有當前TextBox的處理程序。 我遇到的問題是我不確定如何使用這些信息來定位列表框本身。

因此,我需要使用哪些命令來定位列表框?

將所有文本框添加到enter和離開事件
使用發件人使其適用於所有文本框。

TextBox TextB =(TextBox)發送方;“

然后使用文本框位置X和Y設置列表框。
您需要將文本框的高度和希望其在文本框下方的空間添加到Y。

“ listBox1.Location =新點(TextB.Location.X,TextB.Location.Y + TextB.Height + 5);”

使用下面的代碼,它可以工作

    private void textBox1_Enter(object sender, EventArgs e)
    {
        TextBox TextB = (TextBox)sender;

        listBox1.Location = new Point(TextB.Location.X, TextB.Location.Y + TextB.Height + 5);
        listBox1.Visible = true;
    }

    private void textBox1_Leave(object sender, EventArgs e)
    {
        listBox1.Visible = false;
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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