这就是我的......
Dim frmSettings As New frmOptions
frmSettings.ShowDialog(Me)
frmSettings是一个设置表单,您可以选择form1(Me)的背景颜色。但我无法访问form1属性来更改背景颜色。
答案 0 :(得分:2)
但是,您可以在当前表单中提供一个回调,设置表单可以在更改属性时调用,以便为您执行此操作。对不起C#;在AM的早期我写VB。您可能需要一个接口来定义用于更改属性的方法集,并将Form作为接口传递,以便调用者可以访问这些方法。
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 );