从Panel中运行的Custom Control更改窗体的BackgroundImage

时间:2016-01-01 23:45:19

标签: c# image winforms background controls

我的项目包含一个包含自定义控件的面板的表单。 在这个自定义控件中,我有更改背景图像的按钮。

我的问题是;这些按钮只会更改它们所在的自定义控件的背景图像,我需要它们来更改包含自定义控件的面板的主窗体的背景图像。

我目前的代码:

this.BackgroundImage = Image.FromFile(System.IO.File.ReadAllText(BackgroundSkinsPath));

我需要能够实现这一目标的东西:

MainForm.BackgroundImage = Image.FromFile(System.IO.File.ReadAllText(BackgroundSkinsPath));

ie:从MainForm.cs

更改CustomControl.cs的背景图片

3 个答案:

答案 0 :(得分:2)

您可以使用Control.FindForm方法,就像这样

this.FindForm().BackgroundImage = ...

答案 1 :(得分:0)

我最终使用了不同的东西:

NSScrollView

最终比我想象的要简单得多。

答案 2 :(得分:0)

找到控件的父级并更改BackgroundImage

if(this.Parent!=null && this.Parent.Parent!=null)
   this.Parent.parent.BackgroundImage = Image.FromFile(System.IO.File.ReadAllText(BackgroundSkinsPath));