C#中,如何实现打开一个新窗体后,自动选择TabControl的第二个界面

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#中,如何实现打开一个新窗体后,自动选择TabControl的第二个界面相关的知识,希望对你有一定的参考价值。

我自己做的菜单有两个按钮,其功能是分别打开TabControl的两个界面,所以在那些在窗体LOAD事件中的代码就算了,如何实现呢?我自己的想法是不是在菜单窗体中按钮单击事件中加入什么代码?求指点啊!!!!

参考技术A (TabControl名).SelectedIndex = 1;
这些控件都差不多,学习中必须要举一反三,这样就可以节省编码时间。下次再遇到此类问题直接找控件的select相关属性,就可能解决问题。希望对你有帮助。
参考技术B 必须在LOAD函数中进行初始化,其他地方都无法直接自动运行。
写入代码TabControl。SelectedIndex=1;追问

那我是不是要建立两个相同的窗体?

追答

你的意思我不太明白。你的菜单和tabcontrol再同一页面吗?截个图吧

追问

不知道能不能看到图片,菜单和tabcontrol不是同一个窗体,我的菜单有两个按钮,一个是打开城区的,一个是打开小区的,但这两个是在同一个窗体,我的想法是打开城区的就是城区的界面,打开小区的,就是小区的界面。

追答

这样啊,简单:如下操作:
你可以把tabcontrol的权限放大到Public,具体如下
在【解决方案资源管理器中】找到这个窗体,点击前面的“+”号,双击第二个文件,你会看到许多控件,都是private开头,找到tabcontrol,把前面的private改成public。保存
接着:
你的From f=new 你的From();
f. tabcontrol.SelectedIndex=2;
f.show();

//可以了

追问

提示System.Drawing.Region并不包含“tabControl1”的定义???这是怎么回事,我代码没写错吧,我也把Region.designer.cs文件里的tabcontrol的private改为public了。

追答

应该是frmregion.tabControl1....

region 是一个抽象类不能对其操作。frmregion才是一个对象(实际有的东西)

追问

Region是我命名的一个窗体名,我把窗体名改为FrmRegion,运行程序还是提示,"logon.FrmRegion"并不包含"TabControl1"的定义。。

追答

Region formRegion=new Region();
formRegion.tabControl1.SelectedIndex=1;

本回答被提问者采纳

c# 如何保持一个MDI子窗口永远最大化?

在c#中,窗口是多文档,我想让其中一个MDI子窗口永远最大化(在主窗口内满屏),如何实现?

首先,将最大化的事件返回给父窗体,增加一个bool,判断是否需要最大化打开。
再打开新的mdi窗体的时候,判断上面的参数,如果是需要最大化,则打开新窗体的时候将WindowState 设置成FormWindowState.Maximized;
参考技术A

winform如下, 其他C#技术应该类似

参考技术B 在 C# 应用程序中使用 MDI 窗体,你可以在窗体加载事件处理函数中添加代码,使子窗体在每次显示时始终最大化。下面是一个代码示例:
private void Form_Load(object sender, EventArgs e)

this.WindowState = FormWindowState.Maximized;

这样,当用户点击打开子窗体时,该子窗体就始终保持最大化。

以上是关于C#中,如何实现打开一个新窗体后,自动选择TabControl的第二个界面的主要内容,如果未能解决你的问题,请参考以下文章

c#如何实现关闭当前窗体并打开另一个已经创建的窗体。

C#窗体继承了Devexpress中XtraForm和RibbonForm后怎样添加帮助按钮??

c#如何操作窗体combox

c#如何单击按钮显示另一个窗体

C#如何在一个窗体显示另一个窗体的文本内容

C# winform怎么实现子窗体关闭时刷新父窗体数据