我的项目包含一个包含自定义控件的面板的表单。 在这个自定义控件中,我有更改背景图像的按钮。
我的问题是;这些按钮只会更改它们所在的自定义控件的背景图像,我需要它们来更改包含自定义控件的面板的主窗体的背景图像。
我目前的代码:
this.BackgroundImage = Image.FromFile(System.IO.File.ReadAllText(BackgroundSkinsPath));
我需要能够实现这一目标的东西:
MainForm.BackgroundImage = Image.FromFile(System.IO.File.ReadAllText(BackgroundSkinsPath));
ie:从MainForm.cs
CustomControl.cs
的背景图片
答案 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));