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

2 番目のコンストラクターを使用したいのですが、これを使用することもできません。どんな助けでも素晴らしいでしょう

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 に答える