0

我正在尝试从添加到 MainForm 的 UserControl 中访问位于 MainForm 上的控件(用户控件和普通控件)。

我努力了:

(this.Parent as Form).viewport.Dock = DockStyle.Fill;

并且:

Form1.viewport.Dock = DockStyle.Fill;

并且我还在 MainForm 上需要访问的两个控件上将 Modifier 属性设置为: Public,但我仍然无法访问这些控件。

UserControl 如何在代码/运行时访问它的父控件?

4

3 回答 3

0

没关系。我只是有一个脑死的时刻,我想通了:

(this.Parent as Form).Controls["TabStripContainer"].Dock = DockStyle.Fill;
于 2013-08-29T06:18:21.113 回答
0

试试下面的代码:

从用户控件获取对父控件的访问权限 - C#

我的表格

public partial class MyForm : Form
{
   public MyForm()
   {
    InitializeComponent();
    this.myUserControl1.ParentForm = this;
   }
}

我的用户控件

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");

}
}
于 2013-08-29T06:19:22.750 回答
0

我已经对此进行了测试并且工作正常

((this.Parent) as Form2).uc2.Dock = DockStyle.Fill;

其中 form2 是包含用户控件 uc2 的表单。

于 2013-08-29T06:19:27.630 回答