Прохождение значения настройки обратно в форму, которая называла форму
-
24-09-2019 - |
Вопрос
Это то, что у меня есть ..
Dim frmSettings As New frmOptions
frmSettings.ShowDialog(Me)
FRMSETTINGS - это форма настроек, которую вы можете выбрать цвет для фона form1 (me). Но я не могу получить доступ к свойствам Form1, чтобы изменить BackColor.
Решение
Однако вы можете предоставить обратный вызов в текущей форме, которую форма настроек может позвонить, когда свойство изменено, это сделает это для вас. Извините за C #; Слишком рано в я для меня, чтобы написать 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 );
Не связан с StackOverflow