Передача объекта между двумя UserControls и основной формойC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Передача объекта между двумя UserControls и основной формой

Сообщение Anonymous »

Итак, у меня есть одна основная форма, которая работает как панель навигации, и два элемента управления UserControl, отображающие некоторые элементы управления.

В UserControlsA у меня есть несколько полей, которые необходимо заполнить. С помощью этих данных я создаю объект, содержащий некоторую информацию. Мне нужно передать этот объект в UserControlsB, чтобы я мог отобразить там некоторые данные.
Моя идея заключалась в том, чтобы создать три экземпляра объекта, один в UserControlsA чтобы получить информацию, необходимую для объекта, один в основной форме, чтобы получить «копию» объекта из UserControlsA, и один в UserControlsB, который может получить информацию из основной формы.
Однако это кажется излишним и даже не работает. Вот код:
Основная форма:

Код: Выделить всё

public partial class main : Form
{
public Object object { get; set; }
public UCA uca;
public UCB ucb;

public Form1()
{
InitializeComponent();

uca = new UCA();
ucb = new UCB();

panel2.Controls.Add(uca);
panel2.Controls.Add(ucb);

ucb.Visible = false;
uca.Visible = true;

}

private void button1_Click(object sender, EventArgs e)
{
ucb.Visible = false;
uca.Visible = true;
}

private void button2_Click(object sender, EventArgs e)
{
ucb.Visible = true;
uca.Visible = false;
}
}
UserControlsA:

Код: Выделить всё

public partial class UCA : UserControl
{
public Object object { get; set; }

public UCA()
{
InitializeComponent();
}

private void bUsage_Click(object sender, EventArgs e)
{
//Data is provided
object = new Object(data);

//I use var parent to try and access the object from the main form.
var parent = Parent as Form1;
object = parent.object;
}
}

UsercontrolB:

Код: Выделить всё

public partial class UCB : UserControl
{
public Object object { get; set; }

public UCB()
{
InitializeComponent();
}

public void updateData()
{
//I try to assign the object from the main form to this form's object.
var parent = Parent as Form1;
object = parent.object;
}
}
Использование var Parent не работает. Что я могу сделать?

Подробнее здесь: https://stackoverflow.com/questions/683 ... -main-form
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • FormComponent — передача объекта с формой в шаблон
    Anonymous » » в форуме Php
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • MAUI .NET 8 на iOS — Controls.UserControls.MAUI не работает
    Anonymous » » в форуме C#
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • MAUI .NET 8 на iOS — Controls.UserControls.MAUI не работает
    Anonymous » » в форуме IOS
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Winui 3 Как создать библиотеку UserControls
    Anonymous » » в форуме C#
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Как создать библиотеку UserControls?
    Anonymous » » в форуме C#
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»