精华内容
下载资源
问答
  • C#—容器类控件操作

    千次阅读 2016-06-02 12:38:11
    /* * (1)图像列表ImageList主要用于存储图像: ... * (2)运行阶段向TreeView控件添加节点; * (3)设计阶段向TreeView控件添加节点; * (4)ListView控件应用; * (5)TabControl应用。 */ using
    /*
     * (1)图像列表ImageList主要用于存储图像:
     *     为工具栏中的按钮提供图像;
     *     提供列表视图中使用的大小图标;
     *     提供树形视图中使用的图像。
     * (2)运行阶段向TreeView控件添加节点;
     * (3)设计阶段向TreeView控件添加节点;
     * (4)ListView控件应用;
     * (5)TabControl应用。
     */
    using System;
    using System.Collections.Generic;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    namespace WindowsFormsApplication2
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                //在ImageList属性中单击Images属性,完成添加图片的添加或删除。
                //然后将控件与其相连,改变其ImageList属性。
                button1.ImageList = imageList1;
                button1.ImageIndex = 1;
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
                //为两个ImagList控件添加图标
                largeimageList.Images.Add(Image.FromFile(Application.StartupPath + @"\b.png"));
                largeimageList.Images.Add(Image.FromFile(Application.StartupPath + @"\h.png"));
                largeimageList.Images.Add(Image.FromFile(Application.StartupPath + @"\s.png"));
                smallimageList.Images.Add(Image.FromFile(Application.StartupPath + @"\5.jpg"));
                smallimageList.Images.Add(Image.FromFile(Application.StartupPath + @"\6.jpg"));
                smallimageList.Images.Add(Image.FromFile(Application.StartupPath + @"\7.jpg"));
                //将两个ImagList控件分别关联listView1的大、小图标
                listView1.LargeImageList = largeimageList;
                listView1.SmallImageList = smallimageList;
                //设置listView的标题栏名称
                listView1.Columns.Add("File", 100, HorizontalAlignment.Left);
                listView1.Columns.Add("Size", 50, HorizontalAlignment.Left);
                listView1.Columns.Add("data", 80, HorizontalAlignment.Left);
                //建立项目列表中的项目数据
                ListViewItem item1=new ListViewItem(new string[]{"Per.doc","235K","2008-1-1"},0);
                ListViewItem item2=new ListViewItem("Text.exe" , 1);
                ListViewItem item3 = new ListViewItem("cmd.ppt", 2);
                listView1.Items.Add(item1);
                listView1.Items.Add(item2);
                listView1.Items.Add(item3);
                //指定listView初始状态为详细列表
                listView1.View = View.Details;
                //为控件添加节点
                treeView1.ImageList = imageList1;
                TreeNode tn = new TreeNode();
                tn.Text = "出版社";
                tn.Name = "root";
                tn.ImageIndex = 0;
                treeView1.Nodes.Add(tn);    //添加根节点
                tn = new TreeNode();
                tn.Text = "清华大学出版社";
                tn.Name = "K1";
                tn.ImageIndex = 1;
                treeView1.Nodes["root"].Nodes.Add(tn);   //在根节点下添加节点
                tn = new TreeNode();
                tn.Text = "高校出版社";
                tn.Name = "K2";
                tn.ImageIndex = 2;
                treeView1.Nodes["root"].Nodes.Add(tn);   //在根节点下添加节点
                tn = new TreeNode();
                tn.Text = "电力出版社";
                tn.Name = "K3";
                tn.ImageIndex = 3;
                treeView1.Nodes["root"].Nodes.Add(tn);   //在根节点下添加节点
                tn = new TreeNode();
                tn.Text = "编辑部";
                tn.Name = "K4";
                tn.ImageIndex = 4;
                treeView1.Nodes["root"].Nodes["K3"].Nodes.Add(tn);   
                tn = new TreeNode();
                tn.Text = "发行部";
                tn.Name = "K5";
                tn.ImageIndex = 5;
                treeView1.Nodes["root"].Nodes["K3"].Nodes.Add(tn);
                treeView1.ExpandAll();    //将节点展开
            }
    
            private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
            {
                MessageBox.Show(e.Node.Text);     //显示节点内容
            }
    
            private void largeBT_Click(object sender, EventArgs e)
            {
                listView1.View = View.LargeIcon;
            }
    
            private void smallBT_Click(object sender, EventArgs e)
            {
                listView1.View = View.SmallIcon;
            }
    
            private void listBT_Click(object sender, EventArgs e)
            {
                listView1.View = View.List;
            }
    
            private void detailBT_Click(object sender, EventArgs e)
            {
                listView1.View = View.Details;
            }
    
            private void titleBT_Click(object sender, EventArgs e)
            {
                listView1.View = View.Tile;
            }
    
            private void listView1_SelectedIndexChanged(object sender, EventArgs e)
            {
                foreach (ListViewItem item in listView1.SelectedItems)
                    MessageBox.Show(item.Text);
            }
    
            private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
            {
                if (!tabControl1.SelectedTab.Text.Equals("媒体信息")) 
                {
                    return;
                }
                //其他操作
            }
            
        }
    }
    

    设计:

    TreeNode编辑器:

    TabPage集合编辑器:




    运行结果:



    展开全文
  • 本篇讲解三个容器类控件。 一、面板控件 Ext.Panel 一个面板控件包括几个部分,有标题栏、工具栏、正文、按钮区。标题栏位于最上面,工具栏可以在四个位置放置,围绕中间部分正文,按钮区位于最小方。下面...

    转自:http://www.cnblogs.com/lipan/archive/2011/12/20/2294118.html \

    该博客中有不少JS方面的知识点。可以参考

    作者:李盼(Lipan)
    出处:[Lipan] (http://www.cnblogs.com/lipan/
    版权声明:本文的版权归作者与博客园共有。转载时须注明本文的详细链接,否则作者将保留追究其法律责任。


    本篇讲解三个容器类控件。

    一、面板控件 Ext.Panel

    一个面板控件包括几个部分,有标题栏、工具栏、正文、按钮区。标题栏位于最上面,工具栏可以在四个位置放置,围绕中间部分正文,按钮区位于最小方。下面介绍几个基本配置项:

    1.title:设置面板标题文本。

    2.tbar,lbar,rbar,bbar:分别设置上、左、右、下四个部位的工具栏。

    3.html,items:前者用来设置正文部分的html,后者设置正文部分的ext控件。

    4.buttons:设置按钮区的按钮。

    下面看看面板生成代码:

    [html]
        <h1>Panel</h1>
        <div id="div1" class="content">
        </div>
    

    [Js]
    Ext.onReady(function () {
        var p = Ext.create('Ext.Panel', {
            title: '面板标题',
            collapsible: true,
            renderTo: 'div1',
            width: 400,
            height: 300,
            autoScroll: false,
            bodyBorder: true,
            buttonAlign: 'right',
            buttons: [{
                text: "按钮1",
                handler: function () {
                    Ext.Msg.alert("提示", "第一个事件");
                },
                id: "bt1"
            }, {
                text: "按钮2",
                id: "bt2"
            }
            ],
            floating: true,
            footerCfg: { tag: 'span', id: 'span1', html: '面板底部' },
            items: [{
                xtype: "button",
                text: "按钮"
            }],
            tbar: Ext.create('Ext.toolbar.Toolbar', { items: ["工具栏"] }),
            html: "<b>正文</b>"
        });
    
        p.setPosition(40, 50);
    
    });
    

    效果如下:

    二、窗口控件 Ext.window.Window

    窗口控件与面板控件基本类似,只不过他看起来像一个窗口,具备最大化,最小化,打开关闭、拖动等窗口操作,下面看看窗口生成代码:

    下面看看面板生成代码:

    [html]
        <h1>窗口</h1>
        <div class="content" style="height:300px">
        <button id="button1">打开窗口</button>
            <div id="win1"></div>
        </div>
    

    [Js]
    Ext.onReady(function () {
        var window1 = Ext.create('Ext.window.Window', {
            applyTo: 'win1',
            layout: 'table',            //内部元素布局方式{absolute accordion anchor border card column fit form table}
            width: 500,
            height: 200,
            closeAction: 'hide',        //窗口关闭的方式:hide/close
            plain: true,
            title: "窗口标题",
            maximizable: true,          //是否可以最大化
            minimizable: true,          //是否可以最小化
            closable: false,            //是否可以关闭
            modal: true,                //是否为模态窗口
            resizable: false,           //是否可以改变窗口大小
            items: [{
                text: '按钮',
                xtype: "button"
            }, {
                width: 214,
                minValue: 0,
                maxValue: 100,
                value: 50,
                xtype: "slider"
            }, {
                xtype: "button",
                text: '一个菜单',
                width: "60px",
                height: "15px",
                menu: {
                    items: [
                                new Ext.ColorPalette({
                                    listeners: {
                                        select: function (cp, color) {
                                            Ext.Msg.alert('颜色选择', '你选择了' + color + '。');
                                        }
                                    }
                                }), '-',
                                { text: '菜单项1' }, { text: '菜单项2' }, { text: '菜单项3' }
                            ]
                }
            }],
    
            buttons: [{
                text: '确定',
                disabled: true
            }, {
                text: '取消',
                handler: function () {
                    window1.hide();
                }
            }]
        });
        Ext.fly("button1").on("click", function () {
            window1.show(Ext.get("button1"));
        });
    });
    

    效果如下:

    三、布局控件 Ext.container.Viewport

    布局控件一般用于整个页面的排版布局,它按四个方向分为四块区域,和中间正文部分,四个区域都可以自动隐藏,其实这个控件的核心功能就是用到了“border”方式的布局,下面看看生成代码:

    [Js]
    Ext.onReady(function () {
        Ext.create('Ext.container.Viewport', {
            layout: 'border',
            items: [{
                region: 'north',
                html: '<h1>这里放置logo</h1>',
                xtype: "panel",
                title: "标题",
                autoHeight: true,
                border: false,
                margins: '0 0 5 0'
            }, {
                region: 'west',
                collapsible: true,
                title: '左侧导航',
                xtype: 'panel',
                width: 200,
                autoScroll: true
            }, {
                region: 'center',
                xtype: 'tabpanel',
                activeItem: 0,
                items: {
                    title: '首页',
                    html: '这里是首页正文内容'
                }
            }, {
                region: 'south',
                title: '底部',
                collapsible: true,          //允许折叠
                html: '这里放置版权信息',
                split: true,
                height: 100,
                minHeight: 100
            }]
        });
    
    });
    

    效果如下:



    展开全文
  • 今天干活的时候 碰到的问题,有两个Panel,一个 作为 容器:Panel_1,另一个做为画布:Panel_Draw, Panel_Draw的大小是可以调整的,不过他的父控件Panel_1的大小是随着窗口大小的变化而变化的, 所以画布Panel_...

    今天干活的时候 碰到的问题,有两个Panel,一个 作为 容器:Panel_1,另一个做为画布:Panel_Draw,

    Panel_Draw的大小是可以调整的,不过他的父控件Panel_1的大小是随着窗口大小的变化而变化的,

    所以画布Panel_Draw的大小何有可能会超出 Panel_1的范围,因此我就吧Panel_1的AutoScroll属性设置为true,让它自动显示滚动条,

    但是 这时候问题出现了,在画布变大,超出 Panel_1的大小时,如果我往下 拉滚动条,显示 画布的其余部分,然后向画布 拖入一个 需要 在画布上绘制的图形时,

    此时 Panel_1和Panel_Draw 都有一个失去焦点然后重新获取焦点的过程,当 控件重新获取到焦点后(也就是画布Panel_Draw开始重绘时),

    Panel_1的滚动条会自动 滚动到最顶端(复位),开始,这个问题纠结我很长一段时间, 后来我想在失去焦点时 记录下 滚动条的位置,

    然后在Panel_Draw重绘时,在代码中 显示的 设置  滚动条的位置,但是 这时,会出现很严重的屏幕闪烁的问题,

    当然 双缓存什么的都已经设置了,我在网上看到别人说,在控件获取焦点的时候设置滚动条的位置,虽然效果好多了,但是闪烁的问题还是很明显。


    后来经过几个人的研究,采用了如下的解决方案,搞定,不再出现闪烁问题,我把解决方案截了一个图,其实 就一行代码。

     如图:



    重写了Panel,然后重载了ScrollToControl方法,在方法中就这一行代码,然后用这个 PanelEx作为容器,问题解决.。





    展开全文
  • 容器控件Panel用于为其他控件提供可识别的分组。容器控件Panel可以使窗体的分类更详细,便于用户理解。容器控件Panel可以有滚动条。  我们可以在容器控件中嵌套放置多个容器控件容器控件的部分属性和说明 ...

        容器控件Panel用于为其他控件提供可识别的分组。容器控件Panel可以使窗体的分类更详细,便于用户理解。容器控件Panel可以有滚动条。

        我们可以在容器控件中嵌套放置多个容器控件。

    容器控件的部分属性和说明

    属性值

    说明

    Enabled

    设置控件是否可以对用户交互做出响应。若果设置为false,那么在该容器内的所有控件将设为不可用状态。

    更多属性说明,请参考:

    http://msdn.microsoft.com/zh-cn/library/System.Windows.Controls.Panel_properties(v=vs.110).aspx

     

    容器控件的部分方法和说明

    方法名

    说明

    Show

    显示控件值

    展开全文
  • WPF容器控件类介绍

    2019-03-01 21:18:25
    WPF容器控件类介绍 https://blog.csdn.net/wushang923/article/details/6564641
  • C# 容器控件排序

    千次阅读 2015-06-17 08:22:29
    Sort完善版本(修正传入控件集合大小不一致,排序后文本显示问题) public static class Sort { #region 设置PanelControl上按钮显示位置 /// /// 设置按钮显示位置 /// /// 需要调整按钮顺序的Panel /...
  • 1.开发环境 ...控件类取名Custom。 然后完成创建。 3.包含头文件与宏 此时编译出来Release版本的自定义控件放进Designer目录下仅能在Designer中拖动,在使用该控件的工程中编译将会报错,所...
  • WPF容器控件

    2018-03-01 10:06:02
    WPF有五种容器控件,分别为Grid,Canvas,StackPanel,WrapPanel,DockPanel。Grid: 1、Height=”60”:不加“星号”表示固定的高度 2、Height=”60*”:加“星号”表示“加权”的高度,在调整窗体大小时,此高度或...
  • Winform控件之分组类控件

    千次阅读 2015-05-27 12:54:40
    分组类控件主要包括容器控件(Panel),分组框控件(groupBox)和选项卡控件(TabControl)等控件。  一,Panel控件  Panel控件是由System.Windows.Forms.Panel类提供的,主要作用就是将其他控件组合一起放在一个面板...
  • [android]android的容器控件

    千次阅读 2012-08-28 23:30:47
    Android中真正可见的界面是view system View---Android中一切的根类 ... ---ViewGroup(容器)---所有容器类的父类  ---LinearLayout TableLayout FrameLayout RelativeLayout AbsoluteLayout  ---控件
  • 创建适用于多种容器控件 即使是一个符合OLE标准的控件,在不同的ActiveX容器里其行为也会偶尔不同。不能成功地适应容器之间的差别将严重影响控件在某些容器内的应用,甚至导致控件完全无法在个别容器使用。 本文...
  • 文本框类控件

    千次阅读 2017-07-28 09:23:26
    Lable控件常用属性 Text:用来设置或返回标签控件中显示的文本信息; AutoSize:用来获取或设置一个值,该值指示是否自动调整控件的大小以完整显示其内容。... 所谓容器控件指的是这样一种情况:往往在控件之中还有一
  • 首先绘制容器里的控件,然后绘制窗体上的容器,最后再绘制窗体。可以在控件容器及窗体的Paint事件处理程序中加入MessageBox.Show方法,然后就可以看出它们的执行顺序:Control.Paint--->Container.Paint--->Form....
  • Android标签容器控件的实现

    千次阅读 2016-07-21 14:57:00
    Android中标签容器控件的实现,在一些APP中我们可以看到一些存放标签的容器控件,和我们平时使用的一些布局方式有些不同,它们一般都可以自动适应屏幕的宽度进行布局,根据对自定义控件的一些理解,今天写一个简单的...
  • 创建适用于多种容器控件

    千次阅读 2007-01-04 11:24:00
    即使是一个符合OLE标准的控件,在不同的ActiveX容器里其行为也会偶尔不同。不能成功地适应容器之间的差别将严重影响控件在某些容器内的应用,甚至导致控件完全无法在个别容器使用。 本文讨论使用Visual C++创建控件...
  • WinForm容器控件批量效验是否允许为空?设置是否只读?设置是否可用等方法分享 在WinForm程序中,我们有时需要对某容器内的所有控件做批量操作、如批量判断是否允许为空?批量设置为只读、批量设置为可用或不可用...
  • MFC的容器站点控件模型

    千次阅读 2006-09-03 19:49:00
    背景知识 VC向导里面有一个MFC ActiveX项,我们可以使用它来创建ActiveX控件,ActiveX技术是OLE技术的延伸,微软早期推出OLE技术不是非常成功,于是修改了名字以抹去人们对OLE的阴影。ActiveX技术在现在应用非常广泛...
  • 创建控件容器

    千次阅读 2005-03-06 23:52:00
     实现方法是由CDialog类派生出一个容器类,将控件放入其中,再将这个容器加入到窗口中. 具体实现方法如下: 首先新建一个workspace,再新建一个对话框资源,ID设置为IDD_DIALOG_PANEL,将其OK和Cancel按钮删掉,就得到
  • PyQt5入门(十五)容器控件

    千次阅读 2021-02-04 15:32:25
    使用容器控件的目的:使屏幕上有更多的控件 一.选项卡控件QTabWidget 什么是选项卡控件? 示例: 不同的选项卡控件对应了不同的不同的界面,就让也避免了东西太多一个页面放不下。 代码: 运行结果: 二.堆栈窗口...
  • 1、新建一个Winform窗体,从上图中选择SplitContainer空间,拖拽到...(对于容器类的处理貌似都应该是这样,通过Esc键来处理) 小注:   Winform调试中,Esc键可以用来查找,控件的下层是哪个控件
  • 分组类控件主要包括容器控件(Panel),分组框控件(groupBox)和选项卡控件(TabControl)等控件。 一、Panel控件 Panel控件是由System.Windows.Forms.Panel类提供的,主要作用就是将其他控件组合一起放在一个面板上...
  • MFC 控件容器

    千次阅读 2013-12-16 19:55:54
    背景知识 VC向导里面有一个MFC ActiveX项,我们可以使用它来创建ActiveX控件,ActiveX技术是OLE技术的延伸,微软早期推出OLE技术不是非常成功,于是修改了名字以抹去人们对OLE的阴影。 ActiveX技术在现在应用非常...
  • C#:C#控件系列二 (文本框类控件

    千次阅读 2018-07-11 17:39:22
    文本框类控件1. Label 控件1.1. 常用属性:1.1.1. Text属性:用来设置或返回标签控件中显示的文本信息。1.1.2. AutoSize属性:用来获取或设置一个值,该值指示是否自动调整控件的大小以完整显示其内容。取值为...
  • 容器控件JPanel的使用

    千次阅读 2017-04-02 23:29:25
    JPanel 往往是用来承载其他控件的,其主要作用 就是为其他的控件提供空间作为支撑,且可以在属性中设置其背景色     对于每一个 JPanel 都有一个布局选项 Layout,根面板 contentPane 的布局默认...
  • JPanel面板容器类

    千次阅读 2016-06-08 23:08:53
    JPanel 是 Java图形用户界面(GUI)工具包swing中的面板容器类,包含在javax.swing 包中,是一种轻量级容器,可以加入到JFrame窗体中。JPanel默认的布局管理器是FlowLayout,其自身可以嵌套组合,在不同子容器中可...
  • QDockWidget提供了一个小部件,它可以停靠在QMainWindow内,也可以作为桌面上的顶层窗口浮动。 功能详述 QDockWidget提供了铆接(停靠)控件的概念,也叫做工具窗口。铆接窗口是QMainWindow中心控件的辅助窗口,...
  • Qt之容器控件(QMdiArea)

    千次阅读 2020-03-22 14:08:59
    简述 QMdiArea(Multiple Document Interface Area)提供了一个可以同时显示多个文档窗口的...通常情况下,QMdiArea用作QMainWindow的中心控件,以此来创建一个MDI应用程序。但是,它也可以被放置在任何布局中。...
  • (1)自定义容器控件的构造函数,因为无论是从xml中加载该自定义容器控件,还是直接在java代码中加载,都要调用构造函数; (2)onMeasure(),这里这个请格外注意,这个必须有,因为我们自定义的是一个容器容器...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 83,794
精华内容 33,517
关键字:

容器类控件