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

System.Windows.Forms.TabControl控件有关

发现学生们特别喜欢用TabControl控件,问过之后才知道,原来他们觉得这个控件看上去比较酷,难怪现在标签式浏览器这么受欢迎。既然喜欢,咱就投其所好,赶紧做了一点教学示例。
这里演示了TabControl的常用事件:SelectedIndexChanged
Sub TabControl1_SelectedIndexChanged( ByVal sender  As System.Object,  ByVal e  As System.EventArgs)  Handles TabControl1.SelectedIndexChanged
                lbMessage.Text =  "当前显示的是第" & (TabControl1.SelectedIndex + 1) &  "页"
End  Sub
用编程的方式添加新页
Sub btAdd_Click()  Sub btAdd_Click( ByVal sender  As System.Object,  ByVal e  As System.EventArgs)  Handles btAdd.Click
        TabControl1.TabPages.Add( New TabPage( "新页"))
End  Sub

用编程的方式删除选中的页
Sub btDel_Click()  Sub btDel_Click( ByVal sender  As System.Object,  ByVal e  As System.EventArgs)  Handles btDel.Click
        TabControl1.TabPages.RemoveAt(TabControl1.SelectedIndex)
End  Sub

向前移动某一页
Sub btLeft_Click()  Sub btLeft_Click( ByVal sender  As System.Object,  ByVal e  As System.EventArgs)  Handles btLeft.Click
         Dim selectedIndex  As  Integer = TabControl1.SelectedIndex
         If (selectedIndex = 0)  Then
                Return  '如果是第一页,就不需要向左移动了
         Else
                 Dim selectedTab  As TabPage = TabControl1.SelectedTab         '暂存选中的TabPage
                TabControl1.TabPages.Remove(selectedTab)                                 '从现在的位置移除
                TabControl1.TabPages.Insert(selectedIndex - 1, selectedTab)  '添加到前一个位置(前面的那个TabPage会自动向后移动)
         End  If
End  Sub

向后移动某一页
Sub btRight_Click()  Sub btRight_Click( ByVal sender  As System.Object,  ByVal e  As System.EventArgs)  Handles btRight.Click
         Dim selectedIndex  As  Integer = TabControl1.SelectedIndex
         If (selectedIndex = TabControl1.TabPages.Count - 1)  Then
                Return  '如果是最后一页,就不需要向右移动了
         Else
'暂存选中的TabPage
                 Dim selectedTab  As TabPage = TabControl1.SelectedTab        
'从现在的位置移除(前面的那个TabPage会自动向前移动)
                TabControl1.TabPages.Remove(selectedTab) 
                TabControl1.TabPages.Insert(selectedIndex + 1, selectedTab)  '添加到后一个位置
         End  If
End  Sub
在移动Tab页时,除了注意判断移动边界外,还要注意先保持要移动的Tab页,先移除,后添加。这需要将该TabPage理解为按引用传递的对象。
除了WindowsForm程序中的TabControl外,在其他组件中也可能碰到其它的TabControl,比如AJAX控件包中的TabControl,WPF中的WebControl等,都可以借鉴这一思路进行编程。










本文转自 王杰瑞 51CTO博客,原文链接:http://blog.51cto.com/wangjierui/107444,如需转载请自行联系原作者

相关文章:

  • Verilog 状态机写法 ( 转载,先看看到底好不好)
  • 轻量级的网页Rank算法,365Rss.cn的Rank技术解释以及算法讨论(一)
  • netapp学习(十三)---Snapshot基础知识(上)
  • 关于css浏览器的兼容问题
  • 关于静态方法和实例方法的一些误区。
  • DES加密解密
  • Synchronized及其实现原理
  • 唯一索引与主键索引的比较
  • Apache Commons Beanutils 三 (BeanUtils、ConvertUtils、CollectionUtils...)
  • LG电子Cinema 3D,在乐天世界5万观看者的赞叹
  • CONTENT: ''在CSS样式中的作用
  • CentOS6.8及7最小化安装后无法直接安装vmtools问题
  • .NET基础篇——反射的奥妙
  • ElasticSearch实战-日志监控平台
  • WP7 开发(十四) ApplicationBar
  • ----------
  • 分享一款快速APP功能测试工具
  • 【翻译】babel对TC39装饰器草案的实现
  • Android优雅地处理按钮重复点击
  • AngularJS指令开发(1)——参数详解
  • go append函数以及写入
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • IDEA 插件开发入门教程
  • IndexedDB
  • JS字符串转数字方法总结
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • ucore操作系统实验笔记 - 重新理解中断
  • v-if和v-for连用出现的问题
  • vue-router的history模式发布配置
  • vue的全局变量和全局拦截请求器
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • 技术发展面试
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • 阿里云服务器购买完整流程
  • 进程与线程(三)——进程/线程间通信
  • 说说我为什么看好Spring Cloud Alibaba
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • #数学建模# 线性规划问题的Matlab求解
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (二)换源+apt-get基础配置+搜狗拼音
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (离散数学)逻辑连接词
  • (算法)N皇后问题
  • (学习日记)2024.01.19
  • (转)JAVA中的堆栈
  • *** 2003
  • ****Linux下Mysql的安装和配置
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter