C# 无法将System.Windows.Controls.TextBox添加到C中的groupbox控件#

C# 无法将System.Windows.Controls.TextBox添加到C中的groupbox控件#,c#,C#,有没有办法将System.Windows.Controls.TextBox添加到C#中的GroupBox控件 我尝试了以下操作,但它没有显示在groupbox中: public System.Windows.Controls.TextBox textBox6 = new System.Windows.Controls.TextBox(); public System.Windows.Controls.TextBox textBox7 = new System.Windows.Controls

有没有办法将
System.Windows.Controls.TextBox
添加到C#中的
GroupBox
控件

我尝试了以下操作,但它没有显示在groupbox中:

 public System.Windows.Controls.TextBox textBox6 = new System.Windows.Controls.TextBox();
 public System.Windows.Controls.TextBox textBox7 = new System.Windows.Controls.TextBox();
 public ElementHost sumtext = new ElementHost();
 public ElementHost loctext = new ElementHost();

 private void Form1_Load(object sender, EventArgs e)
    {
        textBox6.Name = "Summary";
        textBox7.Name = "Location";

        textBox6.FontFamily = new System.Windows.Media.FontFamily("Microsoft Sans Serif");
        textBox6.FontSize = 12;
        textBox6.SpellCheck.IsEnabled = true;

        textBox7.FontFamily = new System.Windows.Media.FontFamily("Microsoft Sans Serif");
        textBox7.FontSize = 12;
        textBox7.SpellCheck.IsEnabled = true;

        groupBox4.Controls.Add(sumtext);
        sumtext.Dock = DockStyle.None;
        sumtext.Width = 246;
        sumtext.Height = 35;
        sumtext.Child = textBox6;
        sumtext.Location = new Point(3, 33);
        sumtext.Visible = true;
        sumtext.Enabled = false;
        groupBox4.Controls.Add(sumtext);

        groupBox4.Controls.Add(loctext);
        loctext.Dock = DockStyle.None;
        loctext.Width = 246;
        loctext.Height = 35;
        loctext.Child = textBox7;
        loctext.Location = new Point(3, 90);
        loctext.Visible = true;
        loctext.Enabled = false;

        this.Controls.Add(sumtext);
        this.Controls.Add(loctext);
    }
我需要使用
System.Windows.Controls.TextBox
而不是
Form.TextBox
,因为我需要它进行拼写检查


任何帮助都将不胜感激

这段代码真的被调用了吗?groupbox 4是否已添加到表单中?

我更改了sumtext的Enabled属性,并删除了另一个框以缩短它: 此代码适用于我:

    public Form1()
    {
        this.Load += new System.EventHandler(this.Form1_Load);
    }

    public System.Windows.Controls.TextBox textBox6 = new System.Windows.Controls.TextBox();
    public ElementHost sumtext = new ElementHost();
    private System.Windows.Forms.GroupBox groupBox4;

    private void Form1_Load(object sender, EventArgs e)
    {
        this.groupBox4 = new System.Windows.Forms.GroupBox();
        this.SuspendLayout();
        // 
        // groupBox4
        // 
        this.groupBox4.Location = new System.Drawing.Point(57, 63);
        this.groupBox4.Name = "groupBox4";
        this.groupBox4.Size = new System.Drawing.Size(591, 238);
        this.groupBox4.TabIndex = 0;
        this.groupBox4.TabStop = false;
        this.groupBox4.Text = "groupBox1";
        // 
        // Form1
        // 
        this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
        this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
        this.ClientSize = new System.Drawing.Size(706, 478);
        this.Controls.Add(this.groupBox4);
        this.Name = "Form1";
        this.Text = "Form1";
        this.ResumeLayout(false);
        textBox6.Name = "Summary";

        textBox6.FontFamily = new System.Windows.Media.FontFamily("Microsoft Sans Serif");
        textBox6.FontSize = 12;
        textBox6.SpellCheck.IsEnabled = true;

        groupBox4.Controls.Add(sumtext);
        sumtext.Dock = DockStyle.None;
        sumtext.Width = 246;
        sumtext.Height = 35;
        sumtext.Child = textBox6;
        sumtext.Location = new Point(3, 33);
        sumtext.Visible = true;
        sumtext.Enabled = true;
        groupBox4.Controls.Add(sumtext);
    }

您不应该将
ElementHost
控件添加到表单和GroupBox中,这似乎会混淆.NET。保持原始代码的原样,但注释掉这两行代码可以使其正常工作:

    //this.Controls.Add(sumtext);
    //this.Controls.Add(loctext);
还有。。。我不认为这会伤害任何东西,但你不需要做两次:

    //groupBox4.Controls.Add(sumtext);

您可以使用ElementHost将WPF控件放入Winforms中,就像他正在使用的是groubBox4
System.WIndows.controls.GroupBox
System.WIndows.Forms.GroupBox
?是否可能重复?您确定它没有显示?两个ElementHosts都已禁用,您的从不使用文本设置textbox6或textbox7。您给他们起了一个名字,但没有给textbox6起任何作用。text如果您将分组框位置移动到其他位置,是否有效?我的文本框位于271268点,但文本框位于主窗体上的3,33点,而不在groupbox中。@user770344:在代码底部有两行:this.Controls.Add(sumtext);this.Controls.Add(loctext);这可能是造成您的问题的原因。删除它们?看起来注释掉这两行很有效!我想我看到了现在发生的事情,我将控件添加到groupbox 4,然后将其读回“this”,将其从groupbox中移除。非常感谢。