0

是否可以让用户控件的一个实例在两种不同的表单上运行?


我做了以下操作,但它不起作用(控件只显示在最后一个表单中)。

static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            var control = new UserControl1();

            var form2 = new Form2();
            form2.UserControl1 = control;
            form2.Show();

            var form1 = new Form1();
            form1.UserControl1 = control;

            Application.Run(form1);
        }
4

1 回答 1

1

我不得不说不。至少在正常的.Net 操作下。如果我创建一个文本框并将其添加到 form1,然后将相同的文本框实例添加到 form2,则 form1 中的文本框实际上会移动到 form2。即使它有效,位置、父窗体等属性也会在这两种形式之间出现问题。

如果您需要公共实例数据,则单例类可能适合您。

于 2012-12-15T20:17:56.717 回答