我的表单中有panel1,我将visible属性设置为panel1.Visible=false;
我想在屏幕上单击任何地方显示此面板。
我需要获取当前鼠标位置,然后显示左上角必须与鼠标光标位于同一点的panel1
!
很抱歉这么初学,但我真的不知道怎么做。
我尝试的代码:
private void dataGridView1_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
{
panel1.Location = e.Location;
panel1.Show();
}
答案 0 :(得分:1)
这可能会成为您的任务指南,只需使用.PointToScreen
和.GetCellDisplayRectangle
方法
private void dataGridView1_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.ColumnIndex == -1) return;
var cellRectangle = dataGridView1.PointToScreen(
dataGridView1.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, false).Location);
panel1.Location = new Point(cellRectangle.X + 50, cellRectangle.Y - 175);
panel1.Show();
}
答案 1 :(得分:0)
到目前为止,我可以识别您的问题,您应该使用PointToScreen功能 - 更多内容here