这是我..

Dim frmSettings As New frmOptions
frmSettings.ShowDialog(Me)

frmSettings是设置形成可以选择为Form1(Me)中的背景颜色。但我不能访问form1属性来改变背景色。

有帮助吗?

解决方案

您可能,但是,提供在目前的形式设置形成时,属性更改会为你做它可以调用回调。遗憾的C#;在AM对于我来说太早写VB。你可能会需要有一个定义了一套用来更改属性,并传递形式,使主叫方可以访问的方法的接口方法的接口。

 public interface IChangeableProperties
 {
      void ChangeBackgroundColor( Color newColor );
      ...
 }

 public class MyForm : Form, IChangeableProperties
 {

     ...

     public void ChangeBackgroundColor( Color newColor )
     {
        ...
     }
 }

然后在您在设置形式

 private IChangeableProperties callingForm;

 public void ShowDialog( IChangeableProperties caller )
 {
      callingForm = caller;
      ...
 }

和在事件处理程序

 callingForm.ChangeBackgroundColor( selectedColor );
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top