gpt4 book ai didi

c# - 获取对发件人控件的访问权限 - C#

转载 作者:行者123 更新时间:2023-11-30 14:16:07 25 4
gpt4 key购买 nike

如何访问发件人控件(即:更改位置等)?我在运行时在面板中创建了一些图片框,将其点击事件设置为一个函数。我想获取用户点击的图片框的位置。我也试过 this.activecontrol 但它不起作用,并给出了放置在表单中的控件的位置。我正在使用以下代码:

    void AddPoint(int GraphX, int GraphY,int PointNumber)
{
string PointNameVar = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z";
string [] PointNameArr = PointNameVar.Split(',');

PictureBox pb_point = new PictureBox();
pb_point.Name = "Point"+PointNameArr[PointNumber];

pb_point.Width = 5;
pb_point.Height = 5;
pb_point.BorderStyle = BorderStyle.FixedSingle;
pb_point.BackColor = Color.DarkBlue;
pb_point.Left = GraphX; //X
pb_point.Top = GraphY; //Y
pb_point.MouseDown += new MouseEventHandler(pb_point_MouseDown);
pb_point.MouseUp += new MouseEventHandler(pb_point_MouseUp);
pb_point.MouseMove += new MouseEventHandler(pb_point_MouseMove);
pb_point.Click += new EventHandler(pb_point_Click);
panel1.Controls.Add(pb_point);
}


void pb_point_Click(object sender, EventArgs e)
{
MessageBox.Show(this.ActiveControl.Location.ToString()); //Retrun location of another control.
}

函数 AddPoint 由循环调用以创建 PictureBoxes 的数量,这些 PictureBoxes 给出 X、Y 和 Point 编号。根据代码创建的图片框被命名为 PointA...PointZ

最佳答案

在您的点击处理程序中,将“发件人”参数转换为 PictureBox 并检查其位置。

void pb_point_Click(object sender, EventArgs e)
{
var pictureBox = (PictureBox)sender;
MessageBox.Show(pictureBox.Location.ToString());
}

关于c# - 获取对发件人控件的访问权限 - C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8217205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com