zoukankan      html  css  js  c++  java
  • c# winform中实现framset的效果

    首先创建一个“Windows应用程序”,先删了默认的那个“Form1”文件,然后创建一个叫MainForm的窗体,作为程序的主窗体。然后从控件箱拖3个控件过来:MenuStrip、ToolStrip、StatusStrip。注意要把ToolStrip的Dock改成Left,这样就类似f r a m e的content了。然后把MainForm的“IsMdiContainer”设置成true,意思是可以容纳多个Form对象。

    下面我们可以创建一批Form,类似于web程序创建一批aspx文件,每个Form实现不同的功能。这些Form的“FormBorderStyle”都要设置成None,这样就会隐藏最大化最小化那些按钮。另外要把AutoSize设置为true,目的是让Form能自适应主窗体的大小。把“ShowInTaskbar”设置为false。

    在这些子Form的Load事件中,添加一个函数,写下这么一句:

    this.Dock = DockStyle.Fill;

    这是为了填满主窗体。

    接下来,在主窗体的ToolStrip控件中添加一些按钮,然后编写click这些按钮的函数。在函数中首先需要生成子Form的实例,然后增加关键的一句:

    form_child.MdiParent = this;

    这句代码的意思是,让MainForm包含这个子窗体。

    当你在ToolStrip中增加了多个按钮,那么在click按钮时,需要判断一下对应的子Form是不是已经有实例了,如果有,就用form_child.Activate()就能显示这个子Form了。

    再往后,我们需要在MainForm的类中写一些public的函数,让子Form可以控制MainForm的StatusStrip,显示一些状态信息。此外,在winform程序的开发中,如果某一个函数的运行时间特别长,就要使用委托的方式来调用,否则就会出现点击一个按钮以后,Form就失去响应了,被block住了。

  • 相关阅读:
    中断和异常
    MATLAB总结二
    关于在写第一个模式识别大作业中遇到的几个问题的总结
    学习QT——GUI的基础用法(2)
    Matlab练习——rpy2tr函数与自己实现的ZYX欧拉角的结果不同的问题
    PHP之文件的锁定、上传与下载
    PHP之文件目录基础操作
    PHP之会话控制小结
    PHP之curl
    PHP之数组函数归类
  • 原文地址:https://www.cnblogs.com/superfeeling/p/1943465.html
Copyright © 2011-2022 走看看