عودة قيمة الإعداد إلى النموذج الذي يسمى النموذج
-
24-09-2019 - |
سؤال
هذا ما لدي ..
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 );
لا تنتمي إلى StackOverflow