日期:2014-05-18  浏览次数:21003 次

被包含的Form中的textBox控件,可以键盘操作,不能鼠标操作???
C# code

        private void button1_Click(object sender, EventArgs e)
        {
            Form1 f1 = new Form1();

            f1.TopLevel = false;
            this.Controls.Add(f1);
            f1.Show();
            f1.BringToFront();

        }




代码很简单.
Form1里有一个textBox控件,像上面这样开启后,textBox里键盘操作正常.但不可以用鼠标操作.如:不能选择字符,右键时也不会弹出快捷菜单.但可以从一个textbox点到另一个textBox里.
不知大家有没有碰到过.

请问:
1.有什么解决方法?
2.什么原因?

谢谢!


------解决方案--------------------
private void button1_Click(object sender, EventArgs e)
{
Form1 f1 = new Form1();
f1.Show();
}

直接这样不行么? 
如果你真要那样的效果就做成MDI窗体好了
------解决方案--------------------
TextBox有个ShortcutsEnabled属性,检查一下是否设置为false了,默认是true,如果设置为false,出现的情况几乎就是你描述的情况。

ShortcutsEnabled作用:获取或设置一个值,该值指示是否启用定义的快捷方式。如果启用快捷方式,则为 true;否则为 false。

------解决方案--------------------
Form的toplevel不能为true造成的。---偶不知道咋解决。
搜索下 MDI子窗体添加子窗体。
帮你顶个。
------解决方案--------------------
你在你的右键事件里自己添加事件
------解决方案--------------------
探讨


在实际中,已有一个MDI了. 相当于需要二层MDI :MDI-->MDI-->Fo……

------解决方案--------------------
f1.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;

或者 将textbox换成richtextbox试试
------解决方案--------------------
请问这个问题解决了吗 我也有同样的问题啊
------解决方案--------------------
探讨
f1.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;

或者 将textbox换成richtextbox试试

------解决方案--------------------
探讨
TextBox有个ShortcutsEnabled属性,检查一下是否设置为false了,默认是true,如果设置为false,出现的情况几乎就是你描述的情况。

ShortcutsEnabled作用:获取或设置一个值,该值指示是否启用定义的快捷方式。如果启用快捷方式,则为 true;否则为 false。