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

时间:2015-06-08 14:59:36

标签: c#

enter image description here这是我在这里的第一篇文章,我现在尝试3-4个月来学习c#。 正如标题所说我在Guy类中有这个简单的方法:

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

在图像中,您可以通过给numericUp按钮赋值来查看标签更新 但是当我点击一只熊来获得标签上的熊的名字时我想要

非常感谢你。

3 个答案:

答案 0 :(得分:1)

您必须将Click事件处理程序添加到PictureBox控件,如以下紧凑的Lambda样式表示法示例所示:

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

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

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

Label

指向相同的事件处理程序(顺便说一句,在WPF的情况下,我建议使用img1.Click+=(s,e)=> UpdateLabels(s,e); img2.Click+=(s,e)=> UpdateLabels(s,e); ..... 而不是TextBlock控件;相应地它可以Label控制而不是{{1 }})。

希望这可能会有所帮助。

答案 1 :(得分:0)

双击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更改为您的标签名称(我希望更好地命名)。

答案 2 :(得分:0)

它出现在我的眼前。我试图将图片框视为错误的文本。我可以看到它们但是C#不能这样我做了C#可以看到它们的文本并将适用于图片框选择谢谢大家的时间和帮助我!