繁体   English   中英

获取PictureboxImage的资源名称

Get resourcename of PictureboxImage

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有一个Picturebox ,用户可以从资源文件中选择其backgroundimage

稍后,我想从图片picturebox获取resourcename

我已经尝试过了:

MessageBox.Show(((PictureBox)sender).BackgroundImage.ToString());

但这给了我图片的格式..没有类似的东西:

MessageBox.Show(((PictureBox)sender).BackgroundImage.Name.ToString());

并且我已经picturename在设置图像时使用图片名称为图片Picturebox设置Tag ...但这很烦人...

那么,如何在Picturebox轻松获得用作backgroundimage的资源名称?

我想我必须解释整个情况:

香港专业教育学院的形式有很多raidbuttons ...
如果您选择其中一个按钮并单击面板,
面板将更改为选定的单选按钮图像...

面板的click事件:

PanelClick(object obj ,...)
{
    if(radiobuttonApple.checked)
    {
        obj.backgroundimage = resource.apple;
    }

    if(radiobuttonPear.checked)
    {
        obj.backgroundimage = resource.Pear;
    }
}

以及更多的这些...后来我想知道resourcefile的backgroundimage是..

没有这样的事情:

(如果我想像资源一样命名单选按钮)

PanelClick(object obj ,...)
{
   obj.backgroundimage = resource[selectedradiobutton.Name]
   obj.tag = selectedradiobutton.Name
}




所以现在我要使用LINQ:

RadioButton checkedRadioButton = panel1.Controls.OfType<RadioButton>().FirstOrDefault(r => r.Checked);
obj.tag = checkedRadioButton.Text;

所以我只需要知道如何通过名称获取资源,例如:

obj.backgroundimage = resource[checkedRadioButton.Text];


和生病使用资源管理器:

var resman = new System.Resources.ResourceManager(
    "RootNamespace.Pictures",
    System.Reflection.Assembly.GetExecutingAssembly()
)
var image = resman.GetPicture("checkedRadioButton.Text");

我希望这会工作..

1 个回复

创建一个方法以基于选定的单选按钮返回资源。

例:

private resource checkResource()
{
    if(radiobuttonApple.checked)
    {
        return resource.apple;
    }

    if(radiobuttonPear.checked)
    {
        return resource.Pear;
    }
}

然后,您可以像这样使用它:

PanelClick(object obj ,...)
{
    obj.backgroundimage = checkResource();
}

要么

PanelClick(object obj ,...)
{
   obj.backgroundimage = checkResource();
   obj.tag = selectedradiobutton.Name
}

编辑:

如您所说,根据每种分配的迭代次数,此方法可能会有不同的问题。 为了避免这种情况,并根据另一种解决方案,可以使用单个事件来处理所有单选按钮状态更改,如下所示:

首先,创建一个单选按钮状态更改时要分配给的资源变量。 即。

 private Resource bgResource;

 private void radioButton_CheckedChanged(object sender, EventArgs e)
 {
      RadioButton obj = sender as RadioButton;
      bgResource = resman.GetPicture(obj.Tag);
 }

然后,只要您想更改背景,就可以简单地说:

obj.BackgroundImage = bgResource;
1 如何从资源对象获取资源名称?

假设我在我的资源文件夹中添加了一个exe。 现在我怎么能得到资源的名称(甚至链接的完整路径,以便我仍然可以拥有文件名)作为字符串? 从Properties.Resources.myApp我如何获得string "myApp" 。 ToString()不起作用。 如果嵌入文件以获取名称 ...

2 如何获取当前资源名称

我正在使用 MultiResourceItemReader 来读取并最终将 CSV 文件列表写入数据库。 一切正常,但我还需要存储当前文件\\资源名称。 我找到了这个 API getCurrentResource,但我不知道如何使用它。 有没有办法在流程阶段获取当前资源? 谢谢 ...

3 按名称获取资源

海兰! 我在/values/strings.xml中: 在/values-de/strings.xml中相同 现在,我想通过字符串“ error418”获取错误消息。 我只找到了context.getString(int ...)。 如何通过代码获取错误消息? ...

2011-11-29 20:29:16 1 415   android
5 如何从资源分配中获取资源名称

我正在使用MPXJ读取mpp文件。 我有一个资源分配字符串,如下所示: 我想从上面的字符串中获取资源名称( XC信息管理 )。 目前,我使用以下代码: 我认为使用正则表达式以及,但是,我没有实现它的任何想法。 如果可以,请你帮助我。 谢谢 ...

8 如何从资源 id 中获取资源名称

在我的布局中,我定义了这样的东西。 假设活动中的某个函数向我返回这个 id(radioButton 的 id)。 现在我想从这个 id 获取这个文本radio1 。 总之,我想检索用android:id="@+id/radio1"编写的文本radio1 有人能告诉我怎么可能吗? ...

2012-04-13 08:37:55 5 87470   android
暂无
暂无

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

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