当我改变从右到左的布局时,背景图像不呈现

本文关键字:图像 背景 改变 从右到左 布局 | 更新日期: 2023-09-27 18:08:03

我已经为我的表单设置了一个背景图像,并将从右到左属性设置为No从右到左布局false并试图用按钮改变这些,但是当我单击按钮时,我不渲染和背景是白色的。(Windows form c#).

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication9
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            this.RightToLeft = RightToLeft.Yes;
            this.RightToLeftLayout = true;
        }
    }
}

当我改变从右到左的布局时,背景图像不呈现

MSDN这里的"检查备注"部分

对于Form.RightToLeftLayout属性:

BackgroundImage, Opacity, TransparencyKey,和绘画事件是不支持的。

似乎我们无法在表单设置从右到左的布局时设置图像,但一种方法是欺骗用户看到图片。与面板dock填充和设置一个图像背景的面板用户将只看到图片。检查代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication10
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            this.RightToLeft = RightToLeft.Yes;
            this.RightToLeftLayout = true;
            Panel pnl = new Panel();
            pnl.Dock = DockStyle.Fill;
            pnl.BackgroundImage = System.Drawing.Image.FromFile("D:''Picture''Graphic''2''(1).png");//address of your image
            pnl.BackgroundImageLayout = ImageLayout.Stretch;
            this.Controls.Add(pnl);
        }
    }
}