当前位置: 首页 > wzjs >正文

潍坊企业网站价格网页界面设计

潍坊企业网站价格,网页界面设计,python软件,网站建设与运营毕业论文版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的 8.4.3 TabControl(选项卡)控件 TabControl控件可以通过设置多个选项卡页(TabPage控件&#xff09…

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的

8.4.3 TabControl(选项卡)控件

TabControl控件可以通过设置多个选项卡页(TabPage控件)把不同的控件显示到不同的页面,每个选项卡页都相当于一个容器,可以向里面添加其它控件,但同一时刻只能显示其中一个选项卡页。

TabControl控件比较常见,比如windows系统下的文件夹选项,将常规、查看、搜索对应的设置划分到了不同的功能区域:

图8-87 【文件夹选项】窗口提供了三个选项卡将功能进行分组

TabControl分为上下两部分,默认情况下,上部分包含了2个选项卡按钮,下面是TabPage,点击选项卡按钮,下面部分即可切换到对应的TabPage显示。鼠标单击上部分的选项卡按钮或是空白部分,编辑器右侧的【属性】窗口即刻切换到TabControl属性;鼠标单击TabPage部分,编辑器右侧的【属性】窗口即刻切换到相应的TabPage属性。

图8-88 此时选中的是TabPage2

TabControl常用属性:

  1. Appearance:选项卡的可视外观。
  2. Alignment:选项卡按钮显示位置(顶部、底部、左侧、右侧)。
  3. SizeMode:调整控件的选项卡大小的样式。
  4. Multiline:是否多行显示。
  5. SelectedIndex:当前所选择的选项卡页的索引。
  6. SelectedTab:当前所选择的选项卡页,返回TabPage类型。
  1. TabPages:包含选项卡页的集合。通过按下TabPages属性后面的按钮打开【TabPage集合编辑器】来添加、删除、编辑。也可以右击选项卡控件上部分的选项看按钮,在弹出菜单中选择“添加选项卡”或“移除选项卡”进行添加默认属性的选项卡页或删除选中的选项卡页,但是没有编辑功能。

TabControl常用事件:

  1. SelectedIndexChanged:当前所选择的选项卡页索引发生改变时触发。

注意:TabControl控件有对应的事件,不同的TabPage也有各自的事件。

【例 8.53【项目:code8-053】选项卡页的增加、删除、清除和切换。

在窗体上放置四个Button控件和一个TabControl控件,并将TabControl上的选项卡页全部删除。

        //增加选项卡页

        private void button1_Click(object sender, EventArgs e)

        {

            //实例化一个选项卡页

            TabPage newTabPage = new TabPage();

            //显示名称

            newTabPage.Text = "测试";

            //放置一个标签到选项卡页上

            Label tpLabel = new Label();

            tpLabel.Text = "新建于" + DateTime.Now.ToLongTimeString();

            tpLabel.Location = new Point(20, 50);

            newTabPage.Controls.Add(tpLabel);

            //将新建的选项卡也加入到选项卡控件上

            tabControl1.TabPages.Add(newTabPage);

        }

        //删除选项卡页

        private void button2_Click(object sender, EventArgs e)

        {

            //当选中的选项卡页索引号大于-1时才执行删除

            if (tabControl1.SelectedIndex > -1)

                //使用RemoveAt(索引号)进行删除

                tabControl1.TabPages.RemoveAt(tabControl1.SelectedIndex);

        }

        //清除选项卡页

        private void button3_Click(object sender, EventArgs e)

        {

            tabControl1.TabPages.Clear();

        }

        //选项卡页按顺序切换

        private void button4_Click(object sender, EventArgs e)

        {

            //选中的选项卡页索引号

            int tabPos = tabControl1.SelectedIndex;

            //总的选项卡页数量

            int tabCount = tabControl1.TabPages.Count;

            //当下一个选项卡页索引号小于选项卡页总数时,选中下一个选项卡页

            //否则选中第一个(索引号等于0)选项卡页

            if (tabPos + 1 < tabCount)

                tabControl1.SelectedIndex = tabPos + 1;

            else if(tabPos + 1 == tabCount)

                tabControl1.SelectedIndex = 0;

        }

运行结果如下图所示:

图8-89 TabControl增加、删除选项卡页

8.4.4 SplitContainer(拆分容器)控件

SplitContainer控件是由一个可移动的拆分条及其分隔开的两个面板构成。当光标在拆分条上时,光标形状将变为水平调整大小形状或垂直调整大小形状,此时按下鼠标左键不放,可以拖动拆分条重新设置两部分面板的大小。

SplitContainer控件类似于系统资源管理器左侧的树视图、拆分条、右侧的文件夹两部分。

窗体编辑模式下,向窗体上添加一个SplitContainer,其Dock属性默认为Fill,将整个窗体分为两个面板(Panel),默认名称为Panel1和Panel2。在这两个Panel上都可以放置需要的控件,甚至在这两个面板还可以放置SplitContainer,将容器拆分为更多的面板:

图8-90 在左右拆分的基础上将右侧面板上下拆分

SplitContainer主要属性:

  1. IsSplitterFixed:指示拆分条是固定的还是可移动的。固定为True,可移动为False,默认值为False。
  2. Orientation:指示是水平方向还是垂直方向进行拆分。
  3. SplitterWidth:拆分条的宽度,默认为4像素。
  4. SplitterIncrement:拆分条移动的增量。
  5. SplitterDistance:拆分条初始时离SplitContainer的左边缘或上边缘的位置。
  6. Panel1:表示左侧面板(左右拆分时)或上部面板(上下拆分时)。在SplitContainer的【属性】窗口内,可以单击Panel1属性前面的+,展开该面板的更多属性。或者直接在窗体上直接单击Panel1,右侧【属性】窗口显示该面板的属性。
  7. Panel1Collapsed:确定 Panel1 是折叠是折叠的还是展开的。
  8. Panel1MinSize:Panel1的最小宽度或高度。
  9. Panel2:表示右侧面板(左右拆分时)或下部面板(上下拆分时)。在SplitContainer的【属性】窗口内,可以单击Panel2属性前面的+,展开该面板的更多属性。或者直接在窗体上直接单击Panel2,右侧【属性】窗口显示该面板的属性。
  10. Panel2Collapsed:确定 Panel1 是折叠是折叠的还是展开的。

注意:Panel1Collapsed和Panel2Collapsed不能同时被设置为True。

  1. Panel2MinSize:Panel2的最小宽度或高度。

注意:Panel1MinSize、Panel2MinSize和SplitterWidth之和不能超过所在SplitContainer的宽度(左右拆分时)或高度(上下拆分时)。

SplitContainer主要事件:

  1. SplitterMoving:当拖动拆分条移动时触发。由于
  2. SplitterMoved:当拖动拆分条完毕后触发。

【例 8.54【项目:code8-054】限制拆分条改变面板大小。

在窗体上放置一个SplitContainer控件,使用默认分隔为左右两个面板,Dock属性为Fill。

方法一:设置IsSplitterFixed属性为True。

方法二:设置Panel1的最小宽度、Panel2的最小宽度与拆分条宽度之和大于或等于SplitContainer的宽度。

        private void Form1_Load(object sender, EventArgs e)

        {

            splitContainer1.Panel1MinSize = 200;

            splitContainer1.Panel2MinSize = splitContainer1.Width - splitContainer1.Panel1MinSize - splitContainer1.SplitterWidth;

        }

方法三:在SplitterMoving事件中加入如下代码:

        private void splitContainer1_SplitterMoving(object sender, SplitterCancelEventArgs e)

        {

            e.Cancel = true;

        }

方法四:设置拖动拆分条位置总是等于初始时的位置。

       int sDistance;

        private void Form1_Load(object sender, EventArgs e)

        {

            sDistance = splitContainer1.SplitterDistance;

            splitContainer1.SplitterMoved += SplitContainer1_SplitterMoved;

        }

        private void SplitContainer1_SplitterMoved(object sender, SplitterEventArgs e)

        {

            splitContainer1.SplitterDistance = sDistance;

        }

注意:由于窗体载入时会触发SplitContainer1.SplitterMoved事件,请将该事件加入到窗体载入代码的最后。

学习更多vb.net知识,请参看vb.net 教程 目录

学习更多C#知识,请参看C#教程 目录

http://www.dtcms.com/wzjs/205506.html

相关文章:

  • 寻花问柳专注做一家男人喜欢的网站色盲眼中的世界
  • 做网站真的可以赚钱吗网络营销活动策划方案模板
  • 科技创新小发明飓风seo刷排名软件
  • 万网建设网站百度新闻首页新闻全文
  • 网站建设业务员的工作总结及计划seo和sem的区别与联系
  • wordpress 顶部工具条seo门户网
  • 加强政府网站建设管理工作找客户资源的软件
  • 代做ppt网站长春网络优化最好的公司
  • wordpress做社交网站吗网站首页排名seo搜索优化
  • 网站反链如何做网络营销常见的工具
  • 游戏官方网站开发设计报告时事新闻最新消息
  • 各大网站做推广广告b2b免费发布信息平台
  • 高明专业网站建设哪家好百度开户需要什么资质
  • 桂林本地网站游戏代理怎么做
  • 设计云网站建设公司全网推广
  • 南昌优化网站服务seo关键词排名优化哪好
  • 好的培训网站模板百度资讯指数
  • 优秀响应式网站seo长尾关键词
  • 网站建设物理架构福州百度快速优化排名
  • 小米路由器3 做网站成都网站seo设计
  • 地方政府网站建设sem优化公司
  • 合肥网站排名优化公司苏州seo关键词优化推广
  • 柳市做网站建设网站建设网络推广平台
  • 手机php网站开发工具西安seo外包行者seo06
  • 企业网站源码排行怎么建企业网站
  • 哈尔滨网站优化公司什么平台免费推广效果最好
  • 图片制作二维码的方法seo官网
  • html5 手机端网站怎么推广销售
  • 珠海市住房城乡建设委官方网站网站推广及seo方案
  • amp 插件 wordpress谷歌推广seo