1
这是我的代码 - 我想为我的第二列添加combobox
。因此,无论用户在该列中输入什么值,都可以用于进一步操作。我故意改变了组合中的项目。如何在datagridview中为头添加组合框?
Dim cmbHeaderCell As New ComboBox
cmbHeaderCell1.DropDownStyle = ComboBoxStyle.DropDownList
cmbHeaderCell1.Visible = True
cmbHeaderCell1.Items.Add("India")
cmbHeaderCell1.Items.Add("China")
DGrdVLoadStb.Columns(1).Width = cmbHeaderCell1.Width
cmbHeaderCell1.Location = DGrdVLoadStb.GetCellDisplayRectangle(1, -1,True).Location
cmbHeaderCell1.Size = DGrdVLoadStb.Columns(1).HeaderCell.Size
cmbHeaderCell1.SelectedIndex = 0
在这里,我从GetCellDisplayRectangle(1, -1, True)
方法获取位置(0, 0)
。我已经在stackoverflow上检查了许多相关的问题,但我没有得到完美的答案,请帮助我。先谢谢你。
添加组合框到哪个表面?它漂浮在窗体上吗? –
现在?是的,它位于datagridview的左上角。我想在第二栏的标题处。 – Yog
我想,你的问题是,当你从网格中获得X,Y时,它是相对于网格的。所以,你需要为网格所在的表面创建偏移逻辑。所以,可以说,'grid.control.Location'返回'0,0',在窗体上它可能是'10,20' –