Описание
Вы можете получить родительский элемент управления, используя Control.Parent
.
Образец
Так что если у вас есть элемент управления, помещенный в форму, this.Parent
будет вашимФорма.
В вашем контроле вы можете сделать
Form parentForm = (this.Parent as Form);
Дополнительная информация
Обновление после комментария Фарид-ур-Рахмана ( Он задавал вопрос )
Мой элемент управления и список (listBox1) оба размещены наФорма (Форма1).Я должен добавить элемент в listBox1, когда пользователь нажимает кнопку, размещенную в моем элементе управления.
У вас есть два возможных способов сделать это.
1.Используйте `Control.Parent
Sample
MyUserControl
private void button1_Click(object sender, EventArgs e)
{
if (this.Parent == null || this.Parent.GetType() != typeof(MyForm))
return;
ListBox listBox = (this.Parent as MyForm).Controls["listBox1"] as ListBox;
listBox.Items.Add("Test");
}
или
2.
- присвойте
public MyForm ParentForm { get; set; }
свойству UserControl
- , установите свойство в вашей форме
- при условии, что вашему
ListBox
присвоено имя listBox1
в противном случае измените имя
Образец
MyForm
public partial class MyForm : Form
{
public MyForm()
{
InitializeComponent();
this.myUserControl1.ParentForm = this;
}
}
MyUserControl
public partial class MyUserControl : UserControl
{
public MyForm ParentForm { get; set; }
public MyUserControl()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (ParentForm == null)
return;
ListBox listBox = (ParentForm.Controls["listBox1"] as ListBox);
listBox.Items.Add("Test");
}
}