当文本框嵌入到SplitContainer中时,无法使用鼠标选择文本框的文本
本文关键字:文本 选择 鼠标 中时 SplitContainer | 更新日期: 2023-09-27 18:26:11
我有一个包含splitContainer的表单。在splitContainer的Panel2上,我添加了另一个表单,称为form2。在表格2中,我有一个文本框。
我可以编辑文本框,我的意思是我可以在文本框上打字。但是,我无法使用鼠标在文本框中选择文本。这是我的密码。
private void InitializeComponent()
{
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.textBox1 = new System.Windows.Forms.TextBox();
this.form2 = new TestTextBox.Form2();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
this.SuspendLayout();
//
// splitContainer1
//
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
this.splitContainer1.Name = "splitContainer1";
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.textBox1);
//
// splitContainer1.Panel2
//
this.form2.TopLevel = false;
this.splitContainer1.Panel2.Controls.Add(this.form2);
this.splitContainer1.Size = new System.Drawing.Size(812, 347);
this.splitContainer1.SplitterDistance = 438;
this.splitContainer1.TabIndex = 0;
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(94, 110);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(213, 20);
this.textBox1.TabIndex = 0;
//
// form2
//
this.form2.ClientSize = new System.Drawing.Size(362, 313);
this.form2.Dock = System.Windows.Forms.DockStyle.Fill;
this.form2.Location = new System.Drawing.Point(0, 0);
this.form2.Name = "form2";
this.form2.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.form2.Text = "Form2";
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(812, 347);
this.Controls.Add(this.splitContainer1);
this.Name = "Form1";
this.Text = "Form1";
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel1.PerformLayout();
this.splitContainer1.Panel2.ResumeLayout(false);
this.splitContainer1.ResumeLayout(false);
this.ResumeLayout(false);
}
form2有一个textBox。我无法使用鼠标选择此文本框的文本。任何知道这个问题的人,请帮帮我!
在splitContainer的Panel2上,我添加了另一个表单
这不是应该使用拆分容器的方式。您可以将panel
添加到panel2
,而不是Form
!
如果由于某种原因不得不坚持在面板内使用表单,请尝试将forms.toplevel设置为false,这会改变什么吗?
如果你真的不需要使用表单,那么将表单转换为用户控件,并将用户控件添加到面板中。
以这种方式使用表单时会出现焦点问题。我想你甚至都不会用这种方式得到Form.Focus()和其他一些事件。。。
也许你会从这里的例子中得到帮助,向下滚动到:将表单添加为用户控件