c#:winform点击button启动另一个窗体后,需设值新窗体为最大化启动才可让它的textbox获取焦点?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#:winform点击button启动另一个窗体后,需设值新窗体为最大化启动才可让它的textbox获取焦点?相关的知识,希望对你有一定的参考价值。

我在Form1里拖了个splitcontainer,方便一左一右显示新窗体。

button2打开新窗体Sale
private void button2_Click_1(object sender, EventArgs e)

Sale s = new Sale();
//s.WindowState = FormWindowState.Maximized; //最大化启动时,Sale的textbox可获得焦
this.splitContainer1.Panel2.Controls.Add(s);
s.Activate();
s.Show();


我在Sale.cs里面写了:
private void Sale_Activated(object sender, EventArgs e)

textBox1.Focus();


但是运行点击button2打开Sale窗体后,Sale的textbox没有获得焦点,得我设置Sale为最大化启动、就可以让textbox获得焦点。
为什么啊?
textbox1的tabIndex已经设为0了

你看一下正常显示Sale窗体时光标聚焦在哪个控件上,然后看下这个控件的TabIndex属性,我估计是你的Sale窗体内的某个控件的TabIndex属性值跟textbox1的TabIndex属性值重复了。追问

没有,Sale窗体里的控件我都看过了,她们的TabIndex都不是0

还有,我运行打开Sale窗体后,哪都没看见有光标,除非启动前就设置Sale最大化

截图,没有光标

追答

咦,能远程看下吗

参考技术A s.Activate(); 去掉这句追问

没用,其实s.Activate();这句是我后面加上去试验的

追答

s.Show();
s.Activate();
这样试下,可能是容器的问题引起的。

c#中(winform)如何去掉button边框颜色?

Winform的话,设置FlatStyle为Flat,并且设置FlatAppearance下的BorderSize为0

FlatStyle为Flat的话 就不是按钮的样子了

我设置了 ForeColor 为 red 按下后 button边框也是 red

如何设置 能不显示那个边框的颜色啊?

还有就是 按钮按下的时候 显示的感觉像是按下去的!

你可以用一个label分别在它的MouseMove,MouseDown,MouseUp事件里换不同的背景图,一般的特殊按钮都是这么做的而且很方便 参考技术A 1、先画出想要的button的图片(包括MouseDown状态时button的图片),
2、用picturebox添加到窗体,
3、再添加pictureBox1_MouseDown、pictureBox1_MouseUp事件就行了。
参考技术B Winform的话,设置FlatStyle为Flat,并且设置FlatAppearance下的BorderSize为0. 参考技术C 设置了又不显示!

以上是关于c#:winform点击button启动另一个窗体后,需设值新窗体为最大化启动才可让它的textbox获取焦点?的主要内容,如果未能解决你的问题,请参考以下文章

C#(Winfrom)窗体传值问题(子窗体回传值给父窗体)

C# winform窗体有个button按钮,我想鼠标点击它不松一直会触发一个事件?是button的哪个事件?

C# winform窗体有个button按钮,我想鼠标点击它不松一直会触发一个事件?是button的哪个事件?

Pannel中的窗体跳转(C#的Winform)

C#(Winfrom)窗体传值问题(子窗体回传值给父窗体)

有关于winform的 点击主窗体的按钮隐藏子窗体?