窗体停靠位置请教

wanbolantian 2016-06-07 05:34:06
想实现在textbox中输入字符后,弹出一个窗口,这个窗口的显示的是按照输入字符搜索出的数据(已实现),希望这个窗口
的位置应该在textbox下沿部,实现的代码:
    string var = textBox1.Text;
var screenPoint = LocationOnClient(this.textBox1);
screenPoint.Y += this.textBox1.Height;

Form f = new Form();
f.Width = 500;
f.Height = 500;
f.FormBorderStyle = FormBorderStyle.None;
f.Location = screenPoint;
f.Show();


LocationOnClient 是网上找到的一段获得控件位置的代码:
private Point LocationOnClient(Control c)
{
Point retval = new Point(0, 0);

for (; c.Parent != null; c = c.Parent)
{
retval.Offset(c.Location);
}
return retval;
}


运行后,窗体出来的效果是这样的:

要如何做才能达到窗体停靠在textbox的下部?就像百度搜索框那样的效果?谢谢
...全文
163 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanbolantian 2016-06-12
  • 打赏
  • 举报
回复
最后用PointToScreen将控件的坐标转换成屏幕坐标解决了,谢谢大家
老李家的小二 2016-06-07
  • 打赏
  • 举报
回复
http://www.cnblogs.com/libaoheng/archive/2011/07/20/2112032.html
crystal_lz 2016-06-07
  • 打赏
  • 举报
回复
有坐标 什么都好说 Rectangle rect = 控件.RectangleToScreen(控件.DisplayRectangle);
wanbolantian 2016-06-07
  • 打赏
  • 举报
回复
Popup弹出框能显示的信息太少了,弹出窗体里会有个表格,表格能显示更多信息
  • 打赏
  • 举报
回复
用Popup弹出框,而不是窗体控件。类似于Commbox的下拉框。

111,092

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧