我有一个名为 SupplierName 和 ProductName 的文本框,它们处于打开状态groupbox1
,并且gridview1
看起来像智能感知。
例如,当我在供应商名称中输入“s”时,gridview1
它会从数据库中获取以“s”开头的客户名称,并且它动态地位于供应商名称文本框中当前单词的底部,如智能感知。
使用 SupplierName 文本框看起来不错,但 ProductName 文本框已打开groupbox1
,我无法找到出现gridview1
在groupbox1
ProductName 文本框附近的位置。即使我在 ProductName 文本框中输入文本,它也只会出现在 SupplierName 文本框附近。
这是tb
文本框参数的代码,它采用当前输入文本的文本框名称:
int i = tb.SelectionStart;
...
Point pt = tb.GetPositionFromCharIndex(i);
pt.Y += (int)Math.Ceiling(tb.Font.GetHeight());
pt.Y += 2;
using (Graphics g = Graphics.FromHwnd(tb.Handle))
{
SizeF size = g.MeasureString(tb.Text, tb.Font);
if (size.Width > tb.Width)
{
// float length = size.Width % txtintellisense.Width;
pt.X += tb.Width;
}
else
pt.X += (int)size.Width;
}
Point point = tb.Location;
pt.X += point.X;
pt.Y += point.Y;
this.dGVinvisible.Location = pt;
this.dGVinvisible.BringToFront();