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中移除。非常感谢。