3

嘿,所以首先我想指出,我知道这里还有关于这个话题的其他几个问题,我什至自己以前也做过这件事。我在这里问是因为我不知道我的问题是什么。

这是我尝试显示新用户控件的代码

private void ValidationLabel_Click(object sender, EventArgs e)
    {
        EntrySuggestion t_ES = new EntrySuggestion();
        t_ES.Show();
        MainScreen home = new MainScreen();
        home.Show();
    }

我试图让 t_ES 显示(它没有),但主屏幕可以。这两个都是用户控件。

这是我的 EntrySuggestion 用户控件的代码

 using System;
using System.Collections;
using System.Windows.Forms;

namespace TeamManagementSystem
{
    public partial class EntrySuggestion : UserControl
    {
        private ArrayList items = new ArrayList();

        public EntrySuggestion()
        {
            InitializeComponent();
        }

        public EntrySuggestion(ArrayList i)
        {
            InitializeComponent();
            items = (ArrayList)i.Clone();
        }

        private void EntrySuggestion_Load(object sender, EventArgs e)
        {
            foreach (string item in items)
            {
                RadioButton t_RB = new RadioButton();
                t_RB.Text = item;
                ItemSuggestionTable.Controls.Add(t_RB);
            }
        }
    }
}

我确实想使用第二个构造函数,但我无法使用它。任何帮助都会很棒

4

3 回答 3

8

您需要将您的用户控件添加到主窗体的显示表面(或另一个已经存在的容器)

    MainScreen home = new MainScreen();
    home.Show();
    EntrySuggestion t_ES = new EntrySuggestion();
    home.Controls.Add(t_ES);
于 2013-07-08T15:29:43.307 回答
2

将您的用户控件添加到表单中:

home.Controls.Add(t_ES);
于 2013-07-08T15:30:02.987 回答
0

使条目建议继承表单类或使用 form.Controls.Add 将其添加到现有表单。请记住,它是一个用户控件,而不是用户表单,因此它不能支持自己,它需要一个容器,最终它必须有一个包含它的表单。

于 2013-07-08T15:29:58.637 回答