C# winform,鼠标放在不同的label上就会有不同的图片显示在picturebox中;就像放在QQ头像上浮出这个人信息

怎么实现。最好能有demo,或者代码。... 怎么实现。最好能有demo,或者代码。 展开
 我来答
阳光的雷咩咩
2015-12-10 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7819万
展开全部

新建Form,拖两个Label,一个PictureBox,然后粘贴代码:

    public partial class Form1 : Form
    {
        Dictionary<Label, string> Dic;
        public Form1()
        {
            InitializeComponent();
            Dic = new Dictionary<Label, string>()
            {
                {this.label1,@"D:\1.png"},
                {this.label2,@"D:\2.png"}
                //...其他仿照加
            };
            foreach (Label lb in Dic.Keys)
            {
                lb.MouseHover += lb_MouseHover;
            }

        }

        void lb_MouseHover(object sender, EventArgs e)
        {
            Label lb = sender as Label;
            this.pictureBox1.ImageLocation = Dic[lb];
        }
    }
追问
代码很简单,已经实现。但是我想把鼠标移到label的外面时,图片就自己消失,怎么办
追答
我先回答,而且你也说用了我的方法,但不采纳,还让我继续回答么?
syht2000
高粉答主

推荐于2016-02-23 · 关注我不会让你失望
知道大有可为答主
回答量:3万
采纳率:79%
帮助的人:1.4亿
展开全部

窗体上加几个Label,一个picturebox,一个imagelist,添加几张图到imagelist里,然后给formload和Form MouseMove添加代码

List<Label> list = new List<Label>();//label数组
int idx = 0;//当前显示的图像索引号
private void Form1_Load(object sender, EventArgs e)
{
    int i = 0;
    foreach(Label c in Controls.OfType<Label>())
    {
        c.Tag = i++; //这里只是演示,所以是假定图像索引号与序号对应,即list[0]对应的imagelist中图像也是0,
        //实际用的时候你可以灵活处理,比如说将相关信息存入(如用户名等),然后与它与实际的文件名对应
        //也可以用诸如Dictionary之类的结构来存放用户的信息以及与之对应的图像名
        c.MouseEnter += c_MouseEnter;
        list.Add(c);                
    }
}
void c_MouseEnter(object sender, EventArgs e)
{
    if(int.TryParse(((Label)sender).Tag.ToString(),out idx))
    {
        if (idx < imageList1.Images.Count && pb1.Image != imageList1.Images[idx])
        {
            pb1.Image = imageList1.Images[idx];
            pb1.Visible = true;
        }
    }
}
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
    pb1.Visible = false;
    if (pb1.Image != null) pb1.Image = null;
}
追问
代码已经实现,跟楼上一样。但是我想把鼠标移到label的外面时,图片就自己消失,怎么办
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式