从右到左的背景图像不显示

时间:2012-05-26 07:00:24

标签: c# winforms background-image

在Windows窗体中

RightToLeft=yes

RightToLeftLayout=true

我不能

为我的表单设置任何背景图片!

3 个答案:

答案 0 :(得分:4)

来自MSDN entry for the Form.RightToLeftLayout property

  

RightToLeftLayout设置为是时,不支持所有者绘制。所有者绘制事件仍将发生,但未定义您在这些事件中创作的任何代码的行为。此外,不支持BackgroundImageOpacityTransparencyKey和绘画事件。

答案 1 :(得分:1)

添加一个PictureBox并将其停靠以填充表单,您将获得一个背景

答案 2 :(得分:1)

根据Prshanth的回答,你需要自己处理背景画。

微软并不懒惰,当表格的阅读布局发生变化时,他们根本不知道你想要发生什么。 也许您希望翻转背景图像?他们只是不知道,所以他们没有做任何错事,而是做错了什么。

好处是你可以像这样自己做。 在这个例子中,我只是将所需的背景图像存储在PictureBox中,然后在Form.Paint事件发生时将其绘制到表单上:

Private Sub Form1_Paint(sender As Object, e As PaintEventArgs) Handles Me.Paint

    Dim r As Rectangle = Me.ClientRectangle
    e.Graphics.DrawImage(Me.PictureBox1.BackgroundImage, r)

End Sub