2011-05-25 71 views
0

有什麼方法可以在C#中添加System.Windows.Controls.TextBoxGroupBox控件?無法將System.Windows.Controls.TextBox添加到C#中的組框控件中

我嘗試以下,但它並沒有在組合框中顯示出來:

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我需要它拼寫檢查。

任何幫助將不勝感激!

+0

你可以把WPF控件插入到的WinForms使用ElementHost的像他這樣做 – wangburger 2011-05-25 21:29:25

+0

是groubBox4'System.WIndows.Controls.GroupBox'或'System.Windows.Forms.GroupBox'? [試圖用C#拼寫檢查類]的 – 2011-05-25 21:39:01

+0

可能重複(http://stackoverflow.com/questions/4024798/trying-to-use-the-c-spellcheck-class) – 2011-05-25 21:51:22

回答

0

這段代碼實際上是否被調用? groupbox 4已添加到表單了嗎?

1

我改變了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); 
    } 
+0

如果你移動你的組框位置到不同的地方它的工作?我的位置在271,268點,但文本框位於主窗體上的3,33,而不在組框中。 – user770344 2011-05-26 00:45:47

+0

@ user770344:在你的代碼的底部,你有這兩行:this.Controls.Add(sumtext); this.Controls.Add(loctext); 這可能會導致您的問題。刪除它們? – David 2011-05-26 15:06:26

0

你不應該將你的ElementHost控件到窗體中,你的組框,這似乎是令人困惑的.NET。正是保持你原有的代碼,只是註釋掉這兩條線使得它的工作:

//this.Controls.Add(sumtext); 
    //this.Controls.Add(loctext); 

而且......我不認爲這是傷害任何東西,但你並不需要這樣做兩次:

//groupBox4.Controls.Add(sumtext); 
+1

看起來像評論這兩行工作!我想我現在看到發生了什麼,我將控件添加到groupbox4,然後將它重新讀回到「this」,將它從groupbox中移除。謝謝!!! – user770344 2011-05-26 04:08:15

相關問題