tabcontrol的selectedindexchanged事件要不要重载窗口的问题

年轻的程序员小唐 2019-09-10 11:47:08
private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
FormMain_Load(this,null);
}

我做的tabcontrol有多个窗体,我原本是在SelectedIndexChanged事件里重载formMain窗体来做的
现在做的这个窗体有点多,每个窗体的窗体数据量也大,所以我想把SelectedIndexChanged事件FormMain_Load给删去,请问这样会不会有什么问题
(我想了一下,刚打开窗体的时候tabcontrol控件内的窗体全部加载好,那么我切换窗口的时候好像不需要重新加载formmain,这样还能省去解决重载之后数据处理的问题,不知道我这样想对不对)
贴上FormMain_Load里的处理tabcontrol控件的代码

this.tabPage1.Controls.Clear();
Rx rx = new Rx(dataApplication);
rx.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
rx.TopLevel = false;
rx.Dock = DockStyle.Fill;
this.tabPage1.Controls.Add(rx);
// rx.WindowState = FormWindowState.Maximized;//如果windowState设置为最大化,添加到tabPage中时,winform不会显示出来
rx.Show();
dataApplication = Rx.datrxsq;

this.tabPage2.Controls.Clear();
Form4FSK frm4fsk = new Form4FSK(dataApplication);
frm4fsk.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
frm4fsk.TopLevel = false;
frm4fsk.Dock = DockStyle.Fill;
this.tabPage2.Controls.Add(frm4fsk);
//frm4fsk.WindowState = FormWindowState.Maximized;//如果windowState设置为最大化,添加到tabPage中时,winform不会显示出来
frm4fsk.Show();
dataApplication.dat4FSK = Form4FSK.dat4fsk.dat4FSK;


后面还有七个窗体跟上面这两段代码一样的
...全文
266 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿蒙Amon 2019-09-12
  • 打赏
  • 举报
回复
引用 2 楼 weixin_44246797 的回复:
[quote=引用 1 楼 阿蒙Amon 的回复:] FormMain_Load执行过后,每个窗体已经创建好并添加到了tabPage中,不需要切换的时候重新加载一遍吧。 你可以把那一句注释了,然后跑起来看看效果如何。
会变快的,就是不知道内部数据处理会不会出什么问题,这个是上位机软件要传输数据的,等我做个实验看看结果吧 如果成功了那我之前那样做实在是太蠢了[/quote] 加油,多做尝试。
  • 打赏
  • 举报
回复
引用 1 楼 阿蒙Amon 的回复:
FormMain_Load执行过后,每个窗体已经创建好并添加到了tabPage中,不需要切换的时候重新加载一遍吧。
你可以把那一句注释了,然后跑起来看看效果如何。

会变快的,就是不知道内部数据处理会不会出什么问题,这个是上位机软件要传输数据的,等我做个实验看看结果吧
如果成功了那我之前那样做实在是太蠢了
阿蒙Amon 2019-09-10
  • 打赏
  • 举报
回复
FormMain_Load执行过后,每个窗体已经创建好并添加到了tabPage中,不需要切换的时候重新加载一遍吧。 你可以把那一句注释了,然后跑起来看看效果如何。

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧