C# 获得当前控件的名称
一个Form1,上面有一个Panel1(Panel1占满了整个Form1),Panel1中又包含一个Panel2和一个Panel3(Panel2和Panel3没有包含或者...
一个Form1,上面有一个Panel1(Panel1占满了整个Form1),Panel1中又包含一个Panel2和一个Panel3(Panel2和Panel3没有包含或者被包含的关系,它们同时属于Panel1,它们是并列放在Panel1上的),Panel2和Panel3上面都有几个PictureBox和一个Label1:
我想实现的功能是:在Form1的Panel2任意右击一个PictureBox控件,然后在Panel2的Label1中显示出我右击的哪一个PrictureBox;在Panel3任意右击一个PictureBox控件,然后在Panel3的Label1中显示出我右击的哪一个PrictureBox;其实我就是想在Label1中显示出当前获得焦点的控件名。
望名位大哥大姐给予一个帮助,帮小妹写一个这样的小程序,用C#写。
希望大家不是为了分而给小妹写,算是为了学术交流吧,就帮小妹写个吧!最好能留下QQ或一个联系方式,感激不尽。
或者写好后发我的邮箱里qiannianhanbingtan@qq.com
如果方便的话,最好能帮小妹把这个程序写出来,然后把整个工程都发给我。
愿结识各位C#高手。 展开
我想实现的功能是:在Form1的Panel2任意右击一个PictureBox控件,然后在Panel2的Label1中显示出我右击的哪一个PrictureBox;在Panel3任意右击一个PictureBox控件,然后在Panel3的Label1中显示出我右击的哪一个PrictureBox;其实我就是想在Label1中显示出当前获得焦点的控件名。
望名位大哥大姐给予一个帮助,帮小妹写一个这样的小程序,用C#写。
希望大家不是为了分而给小妹写,算是为了学术交流吧,就帮小妹写个吧!最好能留下QQ或一个联系方式,感激不尽。
或者写好后发我的邮箱里qiannianhanbingtan@qq.com
如果方便的话,最好能帮小妹把这个程序写出来,然后把整个工程都发给我。
愿结识各位C#高手。 展开
5个回答
展开全部
控件都有个事件叫enter,可以在enter的事件处理中把控件名(name)写到label
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用2003,2005,还是2008啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
邮件已发送,关键代码:
private void Form1_Load(object sender, EventArgs e) {
foreach(Panel p1 in panel1.Controls)
foreach(Control c in p1.Controls)
if(c is PictureBox)
c.MouseDown += new MouseEventHandler(pictureBox_MouseDown);
}
private void pictureBox_MouseDown(object sender, MouseEventArgs e) {
if(e.Button == MouseButtons.Right){
PictureBox p= sender as PictureBox;
foreach (Control c in p.Parent.Controls)
if (c is Label)c.Text = p.Name;
}
}
private void Form1_Load(object sender, EventArgs e) {
foreach(Panel p1 in panel1.Controls)
foreach(Control c in p1.Controls)
if(c is PictureBox)
c.MouseDown += new MouseEventHandler(pictureBox_MouseDown);
}
private void pictureBox_MouseDown(object sender, MouseEventArgs e) {
if(e.Button == MouseButtons.Right){
PictureBox p= sender as PictureBox;
foreach (Control c in p.Parent.Controls)
if (c is Label)c.Text = p.Name;
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
上面的大哥帮你回答了,你快给分他吧··方法应该没错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
同一个Panel里的PictureBox控件的MouseDown事件指定为同一个事件,用sender获得点击对象.
private void Panel2PictureBox_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
this.label1.Text = (sender as PictureBox).Name;
}
}
private void Panel3PictureBox_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
this.label2.Text = (sender as PictureBox).Name;
}
}
private void Panel2PictureBox_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
this.label1.Text = (sender as PictureBox).Name;
}
}
private void Panel3PictureBox_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
this.label2.Text = (sender as PictureBox).Name;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询