无法以编程方式从图片资源设置表单背景图像

时间:2013-10-19 17:21:37

标签: c# winforms

我只想将另一个表单的背景图像设置为我添加的png文件图片资源

我在MAstrategyBldrForm.cs文件中有以下内容:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace MAStrategyBuilder
{
    public partial class MAstrategyBldrForm : Form
    {

        private CrossPicsForm crossPic;

        public MAstrategyBldrForm()
        {
            InitializeComponent();

            crossPic = new CrossPicsForm();
        }

.... .... ....稍后在同一档案中:

private void MAcrossPicButton_Click(object sender, EventArgs e)
{
    crossPic.BackgroundImage = (Bitmap) (Properties.Resources.ResourceManager.GetObject("Moving Avgs Cross.png"));
    crossPic.Show();
}

.... .... 在我的CrossPicsForm.cs文件中,我有:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace MAStrategyBuilder
{
    public partial class CrossPicsForm : Form
    {
        public CrossPicsForm()
        {
            InitializeComponent();
        }
    }
}

所有内容都会编译但是当我在mastrategy ...窗体中单击我的按钮控件时,会显示一个空白的CrossPicsForm窗口。织补!

1 个答案:

答案 0 :(得分:0)

当您拼错资源名称时,您不会收到异常,ResourceManager只返回null并保持BackgroundImage属性不变。你这样做了,它通常被命名为“Moving_Avgs_Cross”而没有.png扩展名。

请使用资源设计者添加的属性。这应该类似于:

crossPic.BackgroundImage = Properties.Resources.Moving_Avgs_Cross;

使用IntelliSense帮助您在这里成功。