首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过在C#中单击图片框来更改标签值?

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

Stack Overflow用户
提问于 2015-06-08 22:59:36
回答 3查看 287关注 0票数 0

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

代码语言:javascript
复制
public void UpdateLabels()
{
   MyLabel.Text = (Name + " has placed " + MyBet.Amount + "$ " + "on " );      
}

在图中,您可以看到,通过为numericUp按钮赋值来更新标签,但我希望当我单击一只熊时,可以在标签中获得熊的名称

非常感谢。

EN

回答 3

Stack Overflow用户

发布于 2015-06-08 23:16:08

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

代码语言:javascript
复制
img1.Click+=(s,e)=>{ UpdateLabels();}

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

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

代码语言:javascript
复制
img1.Click+=(s,e)=> UpdateLabels(s,e);
img2.Click+=(s,e)=> UpdateLabels(s,e);
.....

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

希望这能有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2015-06-08 23:16:10

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

代码语言:javascript
复制
    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更改为您的标签的名称(我希望它的名称更好)。

票数 0
EN

Stack Overflow用户

发布于 2015-06-08 23:48:50

就在我眼前,.I试图把图片框当作文本处理,这是错误的。我可以看到它们,但C#看不到,所以我发了短信,让C#可以看到它们,并将申请图片框,choices.Thank你们大家的时间和帮助我!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30712588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档