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