这就是我所拥有的。。
Dim frmSettings As New frmOptions
frmSettings.ShowDialog(Me)
frmSettings 是一个设置表单,您可以选择 form1(Me) 的背景颜色。但我无法访问 form1 属性来更改背景色。
这就是我所拥有的。。
Dim frmSettings As New frmOptions
frmSettings.ShowDialog(Me)
frmSettings 是一个设置表单,您可以选择 form1(Me) 的背景颜色。但我无法访问 form1 属性来更改背景色。
但是,您可以在当前表单中提供一个回调,设置表单可以在属性更改时调用该回调,这将为您执行此操作。对不起C#;上午写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 );