繁体   English   中英

如何通过单击C#中的图片框来更改标签值?

[英]How can I change label Value by clicking in a picturebox in C#?

在此处输入图片说明 这是我在这里的第一篇文章,我现在尝试3-4个月学习c#。 如标题所示,我在Guy类中有以下简单方法:

public void UpdateLabels()
{
   MyLabel.Text = (Name + " has placed " + MyBet.Amount + "$ " + "on " );      
}

在图像中,您可以看到通过向numericUp按钮赋值来更新标签,但是当我单击熊以在标签中获得熊的名称时,我想要

非常感谢 。

您必须将Click事件处理程序添加到PictureBox控件中,如下面的紧凑型Lambda样式符号示例所示:

img1.Click+=(s,e)=>{ UpdateLabels();}

其中img1是包含“熊”图像的那个的PictureBox控件名称。 您可以将相同的技术应用于其他PictureBox控件。

注意 :您可能需要修改UpdateLabels(s,e)来提取发件人s信息(例如: PictureBox _px = s as PictureBox ),并将更新应用于相应的Label ,因此,事件订阅将如下所示:

img1.Click+=(s,e)=> UpdateLabels(s,e);
img2.Click+=(s,e)=> UpdateLabels(s,e);
.....

指向相同的事件处理程序(顺便说一句,在WPF中,我建议使用TextBlock代替Label控件;相应地,它可以是Image控件而不是PictureBox )。

希望这会有所帮助。

双击PictureBoxes以获取其Click()事件。 在这里,您可以将Label设置为正确的值:

    public void UpdateLabels()
    {
       MyLabel.Text = (Name + " has placed " + MyBet.Amount + "$ " + "on " + label1.Text);      
    }

    private void pictureBox1_Click(object sender, EventArgs e)
    {
        label1.Text = "Brown Bear";
        UpdateLabels();
    }

    private void pictureBox2_Click(object sender, EventArgs e)
    {
        label1.Text = "Red Bear";
        UpdateLabels();
    }

    // ... etc ...

*将label1更改为标签的名称(希望更好地命名)。

那是在我眼前。我试图将图片框视为错误的文本。我可以看到它们,但C#无法看到,因此我制作了文本,使C#可以看到它们并将其应用于图片框选择。谢谢大家您的时间,并帮助我!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM