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

扬中网络推广网络seo软件

扬中网络推广,网络seo软件,东莞网站建设怎么收费,中企网站建设版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的 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/216004.html

相关文章:

  • 网站前台功能微信营销典型案例
  • 注册网站后怎么建设今日竞彩足球最新比赛结果查询
  • 石家庄自己怎么做网站啊最有效的app推广方式有哪些
  • 目前流行的网页设计风格包括武汉seo 网络推广
  • 荆门城乡建设局网站重庆做seo外包的
  • 动态ip地址做网站网络推广方案的基本思路
  • 广安做网站公司郑州seo关键词自然排名工具
  • 射洪哪里可以做网站杭州网站建设方案优化
  • 浏览器收录网站seo系统推广
  • 合肥网站建设托管大一html网页制作作业简单
  • WordPress可以做政府网站吗淘宝关键词怎么选取
  • 唐山网站建设方案策划无锡百度快照优化排名
  • 肇庆网站seo网页设计工资一般多少
  • 做网站学完html网站页面禁止访问
  • bsci网站的cap是如何做成都网站建设方案外包
  • 学校网站建设电话做网站用哪个软件
  • 网站建设实训报告的内容怎么写百度搜索引擎的使用方法
  • 洛卡博网站谁做的b站软件推广大全
  • 宝安疫情最新消息今天又封了seo这个行业怎么样
  • 做纱窗修水管的一个网站seo优化服务商
  • 网站建设话术宝典网络营销专业大学排名
  • 怎么建一个卖东西的网站东莞网站公司哪家好
  • 网站开发维护岗位职责搜狗网站收录提交入口
  • 南宁律师网站建设网推怎么做最有效
  • 茶叶电子商务网站建设的结论广东seo推广方案
  • 开发网站大概要多少钱福州网站开发公司
  • 深圳做app网站设计软件开发外包公司
  • 网站排名怎么靠前免费宣传网站
  • 网站建设报价单下载搜索引擎营销怎么做
  • 站长工具关键词申请自媒体平台注册