【问题标题】:Adding new user control programmatically in windows forms在 Windows 窗体中以编程方式添加新的用户控件
【发布时间】:2013-07-08 15:21:33
【问题描述】:

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

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

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

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

【问题讨论】:

  • MainScreen 是从 Form 派生的吗?您不能简单地显示浮动 UserControl,它们需要锚定到某物上。
  • 我想记住...当您将控件添加到 Windows 窗体(在您的情况下,是您的 t_RB 单选按钮)时,您是否需要明确设置它们的可见性才能显示它们?
  • 您是否检查过它的边界以查看它们是否在屏幕上?是否已将其添加到表单控件中?
  • 主屏幕实际上是一个表单,我不记得这样做了。表单和用户控件有什么区别?没有其他方法可以显示弹出用户控件吗?
  • @lamilambkin - 将控件添加到表单,并显示表单。

标签: c# winforms user-controls


【解决方案1】:

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

    MainScreen home = new MainScreen();
    home.Show();
    EntrySuggestion t_ES = new EntrySuggestion();
    home.Controls.Add(t_ES);

【讨论】:

    【解决方案2】:

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

    home.Controls.Add(t_ES);
    

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-09-17
        • 1970-01-01
        • 2012-07-03
        • 2011-12-15
        • 2010-12-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多