精华内容
下载资源
问答
  • vs下拉框控件
    2021-06-07 11:00:46

    在Activity中添加如下代码:

    private static final String[] mAPDU={"0x00, 0x84, 0x00, 0x00, 0x08 ","0x00, 0xc0, 0x00, 0x00, 0x0a","..."};

    private Spinner spinner;

    private ArrayAdapter adapter;

    private static int mApduIndex = -1;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

    // TODO Auto-generated method stub

    super.onCreate(savedInstanceState);

    requestWindowFeature(Window.FEATURE_NO_TITLE);

    setContentView(R.layout.iccard);

    mQuery = (EditText) findViewById(R.id.textViewQuery);

    mRuternData = (EditText) findViewById(R.id.textViewRuternData);

    spinner = (Spinner) findViewById(R.id.SpinnerAPDU);

    //将可选内容与ArrayAdapter连接起来

    adapter = new ArrayAdapter(this,android.R.layout.simple_spinner_item,mAPDU);

    //设置下拉列表的风格

    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    //将adapter 添加到spinner中

    spinner.setAdapter(adapter);

    //添加事件Spinner事件监听

    spinner.setOnItemSelectedListener(new SpinnerSelectedListener(){});

    //设置默认值

    spinner.setVisibility(View.VISIBLE);

    //使用数组形式操作

    abstract class SpinnerSelectedListener implements OnItemSelectedListener{

    public void onItemSelected(AdapterView> arg0, View arg1, int arg2,

    long arg3) {

    mApduIndex = arg2;

    }

    public void onNothingSelected(AdapterView> arg0) {

    }

    }

    更多相关内容
  • swift-ios下拉框控件

    2019-08-15 02:48:12
    ios下拉框控件
  • QTableView添加复选框,下拉框控件
  • 通过 bootstrap-table 的Column 配置项中的formatter,将获取到的数据转换为包含数据的 select 控件。然后根据用户选择项更新对应单元格数据,最后通过getallselection方法获取所选行数据
  • 多选下拉框控件

    2016-08-03 15:43:34
    使用js, css, html实现多选下拉列表的功能
  • 自定义表头,添加复选框和下拉选项框
  • 下拉框控件多级联动.7z,下拉框参数多级联动.cpt,饼图联动饼图.cpt,下拉框参数SQL.txt
  • android完美下拉框控件

    2017-10-02 19:55:34
    android完美下拉框控件android完美下拉框控件android完美下拉框控件android完美下拉框控件
  • 自定义下拉框.rar,自定义下拉框,CommboBox.html,btn-arrow.gif,jquery.min.js
  • 主要介绍了Android中Spinner(下拉框)控件的使用详解的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
  • 【MFC开发(8)】下拉框控件Combo Box

    千次阅读 2022-05-08 20:54:25
    【MFC开发(8)】下拉框控件Combo Box

    下拉框的类型:

    Dropdown:可以从下拉列表中选择一项,也可以自己输入;
    Drop List:只能从下拉列表中选择一项,不能修改。

    1. 向下拉框控件添加数据

    方法(1)在属性中的Data中添加,不同选项用分号间隔

    方法(2)通过变量的方法来添加选项

    首先给下拉框控件添加一个变量,然后在初始化dlg的函数中可以给下拉框加一些选项

    //下拉框操作区域
    	//下拉框添加选项
    	m_combo.AddString(_T("青菜"));
    	m_combo.AddString(_T("白菜"));
    	m_combo.AddString(_T("西兰花"));

    效果如下所示:

    如果要自定义插入到某个位置的话,可以使用如下代码:

    	//另外如果想要自定义插入位置的话可以如下使用
    	m_combo.InsertString(0, _T("秦椒"));
    	m_combo.InsertString(1, _T("红薯"));
    	m_combo.InsertString(4, _T("玉米"));

     效果如下:

    2.如何删除下拉框中的选项

    (1)删除其中单个选项

    这里设置一个按钮,通过点击按钮可以实现删除某个选项

     

    void CMFC_Test1Dlg::OnBnClickedButton8()
    {
    	// TODO:  在此添加控件通知处理程序代码
    	//删除第N个选项,这里的选项选择的为0,即第一个选项
    	m_combo.DeleteString(0);
    }

    点击按钮的效果如下所示:

    (2)清空所有的选项

    这里设置一个按钮,通过点击按钮可以实现清空所有选项

    void CMFC_Test1Dlg::OnBnClickedButton9()
    {
    	// TODO:  在此添加控件通知处理程序代码
    	//清空下拉框中所有的选项
    	m_combo.ResetContent();
    }

     

    3.设置默认的选中选项 

     在初始化dlg函数中,默认选中某个选项的代码如下:

    	//下拉框默认选中某个选项,这里设置默认为第一个选项
    	m_combo.SetCurSel(0);

     

    4.获取下拉框选择的序号以及选项内容

    这里设置一个按钮,通过点击事件来获取下拉框选中的序号以及内容

    对应点击事件的代码如下:

    void CMFC_Test1Dlg::OnBnClickedButton10()
    {
    	// TODO:  在此添加控件通知处理程序代码
    
    	//获得下拉框选中的序号
    	int index = m_combo.GetCurSel();
    
    	//通过序号来获得对应的选项内容
    	TCHAR szText[100] = { 0 };
    	m_combo.GetLBText(index, szText);
    
    	//弹出对话框来提示选中的内容
    	MessageBox(szText);
    }

    效果如下所示:

     

    5.下拉框的改变事件

     比如在实际应用中,有两个下拉框选项,第一个来选择蔬菜或者水果,选择了之后会选择第二个的选项会随之变化

     具体的代码如下所示,简单示例可以自己尝试一下、

    void CMFC_Test1Dlg::OnCbnSelchangeCombo2()
    {
    	// TODO:  在此添加控件通知处理程序代码
    
    	//首选获取下拉框1选择的是蔬菜还是水果;0---蔬菜;1---水果
    	int i = m_combo2.GetCurSel();
    
    	//判断为蔬菜的话对下拉框2进行添加蔬菜
    	if (i == 0){
    		m_combo.ResetContent();//清空下拉框中所有的选项
    		m_combo.AddString(_T("土豆"));
    		m_combo.AddString(_T("玉米"));
    		m_combo.AddString(_T("红薯"));
    		m_combo.AddString(_T("青菜"));
    		m_combo.AddString(_T("白菜"));
    		m_combo.AddString(_T("西兰花"));
    	}
    	//判断为水果的话对下拉框2进行添加水果
    	else if (i == 1){
    		m_combo.ResetContent();//清空下拉框中所有的选项
    		m_combo.AddString(_T("香蕉"));
    		m_combo.AddString(_T("苹果"));
    		m_combo.AddString(_T("西瓜"));
    		m_combo.AddString(_T("柚子"));
    		m_combo.AddString(_T("草莓"));
    		m_combo.AddString(_T("莲雾"));
    	}
    
    }

    效果如下所示:

     

     

    展开全文
  • VB6.0增强combo下拉框控件的功能,是一个XP风格下拉列表框,自定义了很多下拉框增强功能,比如追加项目、删除实际项目、禁止编辑、仅清除列表框中显示的文字、载入内容、列表框显示文字、总项目实际数量、复制...
  • VB下拉框控件 网格控件应用实例,一个基于VB的网格下拉框控件,也就是让下拉框拉出的不是列表式数据,而是表格形式的数据,点击表格中的任意格数据,即可选中数据,换换形式,或许更新颖。
  • 下拉框控件.7z

    2019-06-04 17:37:47
    下拉框中的数据是(2019-05-27~2019-06-02)、(2019-06-03~2019-06-09)、(2019-06-10~2019-06-16)、(2019-06-117~2019-06-23)每一个选项都是从周一到周日,根据年月动态生成。下载就可以运行
  • GooFunc.js文件 //获取一个DIV的绝对坐标的功能函数,即使是非绝对定位,一样能获取到 function getElCoordinate(dom) { var t = dom.offsetTop; var l = dom.offsetLeft; dom=dom.offsetParent;...
  • C# winform获取下拉框控件

    千次阅读 2021-01-29 17:53:49
    首先,界面上拖一个ComboBox下拉框控件,如图: 然后,封装一个类,定义下拉框字段的ID和名称,如图: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System....

    首先,界面上拖一个ComboBox下拉框控件,如图:
    在这里插入图片描述
    然后,封装一个类,定义下拉框字段的ID和名称,如图:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace IOS
    {
        /// <summary>
        /// combobox绑定值
        /// </summary>
      public  class Regions
        {
            public int ID { get; set; }
            public string name { get; set; }
        }
        
      
    }
    
    

    使用ID绑定对应的名称,如下:

      private void _Region() {
                regions.Add(new Regions { ID=1,name="左L型"});
                regions.Add(new Regions { ID = 2, name = "右L型" });
               // regions.Add(new Regions { ID = 3, name = "工型" });
                
            }
    

    在窗体加载事件中,写入如下代码:

      private void Test_Load(object sender, EventArgs e)
            {
                try {
                    _Region();
                    this.types.ValueMember = "id";
                    this.types.DisplayMember = "name";
                    this.types.DataSource = regions;
                } catch (Exception ex) {
                    DialogResult result = MessageBox.Show("程序异常,异常抛出:"+ex, "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
    
    
            }
    

    然后在最程序中将Region实例化,最好置于顶部位置:

      List<Regions> regions = new List<Regions>();
    

    获取下拉框值并做判断:

     if (regions.Count.ToString() == "1")
                    {
                        oneOrMoreSortingGoodsL(int.Parse(lattice));
                    }
                    else
                    {
                        oneOrMoreSortingGoodsR(int.Parse(lattice));
                    }
    
    展开全文
  • winform 下拉框(自定义下拉框控件

    千次阅读 2020-06-08 19:51:56
    项目中遇到需要下拉框列表内容为线类型或点类型图形的需求,想到可以使用手绘线条和图形的方式来实现下拉列表内容自定义,记录下来供大家参考学习之用。 在项目中添加一个组件 添加完之后会显示如下设计界面 这里...

    项目中遇到需要下拉框列表内容为线类型或点类型图形的需求,想到可以使用手绘线条和图形的方式来实现下拉列表内容自定义,记录下来供大家参考学习之用。

    在项目中添加一个组件

    在这里插入图片描述

    在这里插入图片描述
    添加完之后会显示如下设计界面
    在这里插入图片描述
    这里直接点击切换到代码视图即可

    注意:新建的组件默认继承Component,我们这里是要自定义一个ComboBox下拉框,所以要继承自ComboBox,此类位于using System.Windows.Forms命名空间下
    在这里插入图片描述

    线的类型列表

    在这里插入图片描述

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace CustomComponents
    {
        /// <summary>
        /// 填充线型
        /// </summary>
        public partial class FillLineTypeCbo : ComboBox
        {
            public FillLineTypeCbo()
            {
          		//初始化组件
                InitializeComponent();
            }
    
            public FillLineTypeCbo(IContainer container)
            {
                container.Add(this);
    
                InitializeComponent();
                InitItems();
            }
    
            private void InitItems()
            {
                this.DrawMode = DrawMode.OwnerDrawFixed;//手动绘制所有元素
                this.DropDownStyle = ComboBoxStyle.DropDownList;//下拉框样式设置为不能编辑
                this.Items.Clear();//清空原有项 
            }
    
            public enum LineType
            {
                DoubleHorizontalLine = 0,//双横线
                VerticalLine,//垂直线
                LeftSlash,//左斜线
                RightSlash,//右斜线
                VerticalGridlines,//垂直网格线
                CrossGridlines,//交叉网格线
                SolidBrush,//实心刷
                HollowBrush,//空心刷
            }
            //protected
            protected override void OnDrawItem(DrawItemEventArgs e)
            {
                if (e.Index >= 0)//判断是否需要重绘
                {
                    int typeId = int.Parse(this.Items[e.Index].ToString());//获取选项id
    
                    Font font = new Font("宋体", 9);//定义字体
                    Rectangle rect = e.Bounds;
                    //rect.Inflate(-2, -2);//缩放一定大小
                    rect.Inflate(5, -2);//缩放一定大小
                    Pen pen = null;
                    SolidBrush solidBrush = new SolidBrush(Color.Black);
    
                    float offSet = rect.Height / 2;
                    float x = rect.Width / 10;
                    float y = rect.Top + offSet;//如果设置成e.ItemHeigh*e.Index +offSet,则在选中节点后,由于Item位置固定,因此Item不能显示出来。
                    switch (typeId)
                    {
                        case (int)LineType.DoubleHorizontalLine:
                            pen = new Pen(Color.Black, 1);
                            e.Graphics.DrawLine(pen, new PointF(x, y), new PointF(8 * x, y));//绘制水平线
                            e.Graphics.DrawLine(pen, new PointF(x, y + 5), new PointF(8 * x, y + 5));
                            //e.Graphics.DrawLine(pen, new PointF(x, y+2), new PointF(x, y+2));
                            break;
                        case (int)LineType.VerticalLine:
                            pen = new Pen(Color.Black, 1);
                            //绘制垂直线
                            int xNum = 0;
                            for (int i = 0; i < 10; i++)
                            {
                                e.Graphics.DrawLine(pen, new PointF(x + xNum, y - 4), new PointF(1 * x + xNum, y + 6));
                                xNum += 7;
    
                            }
                            break;
                        case (int)LineType.LeftSlash:
                            pen = new Pen(Color.Black, 1);
                            //绘制左斜线
                            int xNumLeftSlash = 0;
                            for (int i = 0; i < 10; i++)
                            {
                                e.Graphics.DrawLine(pen, new PointF(x + xNumLeftSlash, y - 4), new PointF(x + 5 + xNumLeftSlash, y + 7));
                                xNumLeftSlash += 7;
                            }
                            break;
                        case (int)LineType.RightSlash:
                            pen = new Pen(Color.Black, 1);
                            //绘制右斜线
                            int xNumRightSlash = 0;
                            for (int i = 0; i < 10; i++)
                            {
                                e.Graphics.DrawLine(pen, new PointF(x + xNumRightSlash + 7, y - 4), new PointF(x + xNumRightSlash, y + 7));
                                xNumRightSlash += 7;
                            }
                            break;
                        case (int)LineType.VerticalGridlines:
                            pen = new Pen(Color.Black, 1);
                            //绘制垂直网格线
                            xNum = 0;
                            for (int i = 0; i < 10; i++)//绘制竖线
                            {
                                e.Graphics.DrawLine(pen, new PointF(x + xNum, y - 4), new PointF(1 * x + xNum, y + 6));
                                xNum += 7;
                            }
                            //绘制双横线
                            e.Graphics.DrawLine(pen, new PointF(x - 3, y - 2), new PointF(8 * x, y - 2));
                            e.Graphics.DrawLine(pen, new PointF(x - 3, y + 5), new PointF(8 * x, y + 5));
                            break;
                        case (int)LineType.CrossGridlines:
                            pen = new Pen(Color.Black, 1);
                            //绘制交叉网格线
                            //绘制左斜线
                            xNumLeftSlash = 0;
                            for (int i = 0; i < 10; i++)
                            {
                                e.Graphics.DrawLine(pen, new PointF(x + xNumLeftSlash, y - 4), new PointF(x + 10 + xNumLeftSlash, y + 7));
                                xNumLeftSlash += 7;
                            }
                            //绘制右斜线
                            xNumRightSlash = 0;
                            for (int i = 0; i < 10; i++)
                            {
                                e.Graphics.DrawLine(pen, new PointF(x + xNumRightSlash + 10, y - 4), new PointF(x + xNumRightSlash, y + 7));
                                xNumRightSlash += 7;
                            }
                            break;
                        case (int)LineType.SolidBrush:
                            pen = new Pen(Color.Black, 10);
                            //绘制实心刷
                            e.Graphics.DrawLine(pen, new PointF(x, y), new PointF(8 * x, y));
                            break;
                        case (int)LineType.HollowBrush:
                            pen = new Pen(Color.Black, 1);
                            //绘制空心刷
                            e.Graphics.DrawLine(pen, new PointF(x, y - 6), new PointF(x, y + 6));//左
                            e.Graphics.DrawLine(pen, new PointF(x, y - 6), new PointF(8 * x, y - 6));//上
                            e.Graphics.DrawLine(pen, new PointF(8 * x, y - 6), new PointF(8 * x, y + 6));//右
                            e.Graphics.DrawLine(pen, new PointF(x, y + 6), new PointF(8 * x, y + 6));//下
                            break;
                        default:
                            pen = new Pen(Color.Black, 1);
                            break;
                    }
                }
            }
        }
    }
    
    

    边框线类型列表

    在这里插入图片描述

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace CustomComponents
    {
        /// <summary>
        /// 线型
        /// </summary>
        public partial class LineShapeCbo : ComboBox
        {
            public LineShapeCbo()
            {
                InitializeComponent();
            }
    
            public LineShapeCbo(IContainer container)
            {
                container.Add(this);
    
                InitializeComponent();
                InitItems();
            }
    
            private void InitItems()
            {
                this.DrawMode = DrawMode.OwnerDrawFixed;//手动绘制所有元素
                this.DropDownStyle = ComboBoxStyle.DropDownList;//下拉框样式设置为不能编辑
                this.Items.Clear();//清空原有项 
            }
    
            public enum LineType
            {
                SolidLine = 0,//实线
                LongDisconnection,//长间断线
                ShortEndLine,//短间端线
                LongAndShort,//长短相间
                ShortToLong,//长短短相间
                EmptyBrushes//空画笔
            }
    
            protected override void OnDrawItem(DrawItemEventArgs e)
            {
                if (e.Index >= 0)//判断是否需要重绘
                {
                    int typeId = int.Parse(this.Items[e.Index].ToString());//获取选项id
    
                    Font font = new Font("宋体", 9);//定义字体
                    Rectangle rect = e.Bounds;
                    //rect.Inflate(-2, -2);//缩放一定大小
                    rect.Inflate(5, -2);//缩放一定大小
                    Pen pen = null;
                    SolidBrush solidBrush = new SolidBrush(Color.Black);
    
                    float offSet = rect.Height / 2;
                    float x = rect.Width / 10;
                    float y = rect.Top + offSet;//如果设置成e.ItemHeigh*e.Index +offSet,则在选中节点后,由于Item位置固定,因此Item不能显示出来。
                    switch (typeId)
                    {
                        case (int)LineType.SolidLine:
                            pen = new Pen(Color.Black, 1);
                            e.Graphics.DrawLine(pen, new PointF(x, y), new PointF(8 * x, y));//绘制实线
                            //e.Graphics.DrawLine(pen, new PointF(x, y+2), new PointF(x, y+2));
                            break;
                        case (int)LineType.LongDisconnection:
                            pen = new Pen(Color.Black, 1);
                            //绘制长间断线
                            int xNum = 0;
                            for (int i = 0; i < 3; i++)
                            {
                                e.Graphics.DrawLine(pen, new PointF(x + xNum, y), new PointF(15+x + xNum, y));
                                xNum += 20;
                            }
                            e.Graphics.DrawLine(pen, new PointF(x + xNum, y), new PointF(10 + x + xNum, y));
                            break;
                        case (int)LineType.ShortEndLine:
                            pen = new Pen(Color.Black, 1);
                            //绘制短间端线
                            xNum = 0;
                            for (int i = 0; i < 8; i++)
                            {
                                e.Graphics.DrawLine(pen, new PointF(x + xNum, y), new PointF(6 + x + xNum, y));
                                xNum += 9;
                            }
                            break;
                        case (int)LineType.LongAndShort:
                            pen = new Pen(Color.Black, 1);
                            //绘制长短相间
                                e.Graphics.DrawLine(pen, new PointF(x, y), new PointF(x+10, y));
                                e.Graphics.DrawLine(pen, new PointF(x+15, y), new PointF(x+20, y));
                                e.Graphics.DrawLine(pen, new PointF(x+25, y), new PointF(x+35, y));
                                e.Graphics.DrawLine(pen, new PointF(x+40, y), new PointF(x+45, y));
                                e.Graphics.DrawLine(pen, new PointF(x+50, y), new PointF(x+60, y));
                                e.Graphics.DrawLine(pen, new PointF(x+65, y), new PointF(x+70, y));
                            break;
                        case (int)LineType.ShortToLong:
                            pen = new Pen(Color.Black, 1);
                            //绘制长短短相间
                            e.Graphics.DrawLine(pen, new PointF(x, y), new PointF(x + 10, y));
                            e.Graphics.DrawLine(pen, new PointF(x+15, y), new PointF(x + 18, y));
                            e.Graphics.DrawLine(pen, new PointF(x+23, y), new PointF(x + 26, y));
                            e.Graphics.DrawLine(pen, new PointF(x+31, y), new PointF(x + 41, y));
                            e.Graphics.DrawLine(pen, new PointF(x + 46, y), new PointF(x + 49, y));
                            e.Graphics.DrawLine(pen, new PointF(x + 54, y), new PointF(x + 57, y));
                            e.Graphics.DrawLine(pen, new PointF(x + 62, y), new PointF(x + 70, y));
                            break;
                        case (int)LineType.EmptyBrushes:
                            pen = new Pen(Color.Black, 1);
                            //绘制空画笔
                            break;
                        //case (int)LineType.LineWithPoints:
                        default:
                            pen = new Pen(Color.Black, 1);
                            break;
                    }
                    //if (e.Index < 9)
                    //{
                    //    e.Graphics.DrawLine(pen, new PointF(x, y), new PointF(8 * x, y));//绘制线
                    //    //Rectangle rectColor = new Rectangle(rect.Location, new Size(9 * (int)x, rect.Height));
                    //    //e.Graphics.DrawRectangle(Pens.Black, rectColor);//绘制边框
                    //}
                }
            }
        }
    }
    
    

    点类型列表

    在这里插入图片描述

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.Drawing;
    using System.Drawing.Drawing2D;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace CustomComponents
    {
        /// <summary>
        /// 点类型
        /// </summary>
        public partial class PointTypeCbo : ComboBox
        {
            public PointTypeCbo()
            {
                InitializeComponent();
            }
    
            public PointTypeCbo(IContainer container)
            {
                container.Add(this);
    
                InitializeComponent();
                InitItems();
            }
            private void InitItems()
            {
                this.DrawMode = DrawMode.OwnerDrawFixed;//手动绘制所有元素
                this.DropDownStyle = ComboBoxStyle.DropDownList;//下拉框样式设置为不能编辑
                this.Items.Clear();//清空原有项 
            }
    
            protected override void OnDrawItem(DrawItemEventArgs e)
            {
                if (e.Index >= 0)//判断是否需要重绘
                {
                    int typeId = int.Parse(this.Items[e.Index].ToString());//获取选项id
    
                    Font font = new Font("宋体", 9);//定义字体
                    Rectangle rect = e.Bounds;
                    //rect.Inflate(-2, -2);//缩放一定大小
                    rect.Inflate(5, -2);//缩放一定大小
                    Pen pen = null;
                    SolidBrush solidBrush = new SolidBrush(Color.Black);
    
                    float offSet = rect.Height / 2;
                    float x = rect.Width / 10;
                    float y = rect.Top + offSet;//如果设置成e.ItemHeigh*e.Index +offSet,则在选中节点后,由于Item位置固定,因此Item不能显示出来。
                    switch (typeId)
                    {
                        case 0:
                            pen = new Pen(Color.Red, 1);//设置边框
                            //SolidBrush sb0 = new SolidBrush(Color.Black);//设置填充颜色
                            //绘制
                            //e.Graphics.DrawLine(pen, new PointF(x, y), new PointF(8 * x, y));
                            //Graphics g = CreateGraphics();
                            //Brush myBrush = new SolidBrush(Color.Green);
                            //string str = "just for fun";
                            //Font myFont = new Font("宋体", 9, FontStyle.Bold);
                            //e.Graphics.DrawString(str, myFont, myBrush, 60, 20);          
                            //e.Graphics.FillEllipse(sb0, 10 ,10 , 10, 10);
                            e.Graphics.DrawEllipse(pen, 9, 5, 10, 10);
                            break;
                        case 1:
                            pen = new Pen(Color.Red, 1);
                            //绘制正方形
                            e.Graphics.DrawLine(pen, new PointF(x, y - 5), new PointF(x, y + 5));//左
                            e.Graphics.DrawLine(pen, new PointF(x, y - 5), new PointF(x + 10, y - 5));//上
                            e.Graphics.DrawLine(pen, new PointF(x + 10, y - 5), new PointF(x + 10, y + 5));//右
                            e.Graphics.DrawLine(pen, new PointF(x, y + 5), new PointF(x + 10, y + 5));//下
    
                            //Rectangle rectColor = new Rectangle(rect.Location, new Size(10, 10));
                            //e.Graphics.DrawRectangle(Pens.Black, rectColor);//绘制边框
    
                            break;
                        case 2:
                            pen = new Pen(Color.Red, 1);
                            //绘制十字形
                            e.Graphics.DrawLine(pen, new PointF(x, y), new PointF(x + 10, y));//横
                            e.Graphics.DrawLine(pen, new PointF(x + 5, y - 5), new PointF(x + 5, y + 5));//竖
                            break;
                        case 3:
                            pen = new Pen(Color.Red, 1);
                            //绘制三角形
                            e.Graphics.DrawLine(pen, new PointF(x, y + 5), new PointF(x + 5, y - 5));//左
                            e.Graphics.DrawLine(pen, new PointF(x + 5, y - 5), new PointF(x + 10, y + 5));//右
                            e.Graphics.DrawLine(pen, new PointF(x, y + 5), new PointF(x + 10, y + 5));//下
                            break;
                        case 4:
                            pen = new Pen(Color.Red, 1);
                            //绘制右(三角)红旗
                            e.Graphics.DrawLine(pen, new PointF(x + 5, y + 5), new PointF(x + 5, y - 5));//竖杆
                            e.Graphics.DrawLine(pen, new PointF(x + 5, y - 5), new PointF(x + 10, y));//红旗右边
                            e.Graphics.DrawLine(pen, new PointF(x + 5, y), new PointF(x + 10, y));//红旗下边
                            break;
                        case 5:
                            pen = new Pen(Color.Red, 1);
                            //绘制左(三角)红旗 
                            e.Graphics.DrawLine(pen, new PointF(x + 5, y + 5), new PointF(x + 5, y - 5));//竖杆
                            e.Graphics.DrawLine(pen, new PointF(x, y), new PointF(x + 5, y - 5));//红旗左边
                            e.Graphics.DrawLine(pen, new PointF(x, y), new PointF(x + 5, y));//红旗下边
                            break;
                        case 6:
                            pen = new Pen(Color.Red, 1);
                            //绘制右方旗
                            e.Graphics.DrawLine(pen, new PointF(x + 5, y + 5), new PointF(x + 5, y - 5));//竖杆
                            e.Graphics.DrawLine(pen, new PointF(x + 5, y - 5), new PointF(x + 10, y - 5));//右上边
                            e.Graphics.DrawLine(pen, new PointF(x + 10, y - 5), new PointF(x + 10, y));//右右边
                            e.Graphics.DrawLine(pen, new PointF(x + 5, y), new PointF(x + 10, y));//右下边
                            break;
                        case 7:
                            pen = new Pen(Color.Red, 1);
                            //绘制大圆包小圆
                            //e.Graphics.DrawEllipse(pen, 20, 115, 10, 10);//空心大圆
                            //e.Graphics.DrawEllipse(pen, 13, 118, 4, 4);//空心小圆 
                            e.Graphics.DrawEllipse(pen, x, y - 5, 10, 10);//空心大圆
                            e.Graphics.DrawEllipse(pen, x + 3, y - 5 + 3, 4, 4);//空心小圆
                            //Rectangle rectColor = new Rectangle(rect.Location, new Size(9 * (int)x, rect.Height));
                            //e.Graphics.DrawRectangle(Pens.Black, rectColor);//绘制边框
                            break;
                        case 8:
                            pen = new Pen(Color.Red, 1);
                            //绘制大圆加十字
                            e.Graphics.DrawEllipse(pen, x, y - 5, 10, 10);//空心大圆
                            //绘制十字形
                            e.Graphics.DrawLine(pen, new PointF(x, y), new PointF(x + 10, y));//横
                            e.Graphics.DrawLine(pen, new PointF(x + 5, y - 5), new PointF(x + 5, y + 5));//竖
                            break;
                        case 9:
                            pen = new Pen(Color.Red, 1);
                            //绘制实心圆
                            SolidBrush sb9 = new SolidBrush(Color.Green);//设置填充颜色
                            e.Graphics.DrawEllipse(pen, x, y - 5, 10, 10);//实心圆边框
                            e.Graphics.FillEllipse(sb9, x, y - 5, 10, 10);//实心圆填充
                            break;
                        case 10:
                            pen = new Pen(Color.Red, 1);
                            //绘制实心正方形
                            //绘制正方形
                            e.Graphics.DrawRectangle(pen, x, y - 5, 10, 10);
                            SolidBrush sb10 = new SolidBrush(Color.Green);//设置填充颜色
                            e.Graphics.FillRectangle(sb10, x, y - 5, 10, 10);
                            break;
                        case 11:
                            pen = new Pen(Color.Red, 1);
                            //绘制
                            PointF p1 = new PointF(x + 5, y - 5);
                            PointF p2 = new PointF(x, y + 5);
                            PointF p3 = new PointF(x + 10, y + 5);
                            PointF[] points = new PointF[3];
                            Brush myBrush = new SolidBrush(Color.Green);
                            points[0] = p1;
                            points[1] = p2;
                            points[2] = p3;
                            e.Graphics.FillPolygon(myBrush, points, FillMode.Alternate);
                            e.Graphics.DrawPolygon(pen, points);
                            break;
                        //case (int)LineType.LineWithPoints:
                        default:
                            pen = new Pen(Color.Black, 1);
                            break;
                    }
                    if (e.Index < 12)
                    {
                        //e.Graphics.DrawLine(pen, new PointF(x, y), new PointF(8 * x, y));//绘制线
                        //设置后面的字符串
                        Rectangle Rect = new Rectangle(rect.Location, new Size(5 * (int)x, rect.Height));
    
                        //文本内容显示区域
                        Rectangle textRect =
                                new Rectangle(Rect.Right + 2, Rect.Y, e.Bounds.Width - Rect.Width, e.Bounds.Height - 2);
    
                        //文本格式垂直居中
                        StringFormat strFormat = new StringFormat();
                        strFormat.LineAlignment = StringAlignment.Center;
                        e.Graphics.DrawString((e.Index + 1).ToString(), new Font("微软雅黑", 12), Brushes.Black, textRect, strFormat);
                    }
                }
            }
        }
    }
    
    

    带图片的列表

    在这里插入图片描述

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.Drawing;
    using System.Drawing.Drawing2D;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace ShowState
    {
        /// <summary>
        /// 下拉框  下拉列表 图片显示
        /// </summary>
        public partial class ComboBoxImg : ComboBox
        {
            public ComboBoxImg()
            {
                InitializeComponent();
                DrawMode = DrawMode.OwnerDrawFixed;
                DropDownStyle = ComboBoxStyle.DropDownList;
                ItemHeight = 50;
                Width = 40;
            }
    
            public ComboBoxImg(IContainer container)
            {
                container.Add(this);
                InitializeComponent();
    
                DrawMode = DrawMode.OwnerDrawFixed;
                DropDownStyle = ComboBoxStyle.DropDownList;
                ItemHeight = 200;
                Width = 40;
            }
    
            protected override void OnDrawItem(DrawItemEventArgs e)
            {
                if (Items.Count == 0 || e.Index == -1)
                    return;
                if ((e.State & DrawItemState.Selected) != 0)
                {
                    //渐变画刷
                    LinearGradientBrush brush = new LinearGradientBrush(e.Bounds, Color.FromArgb(255, 251, 237),
                                                     Color.FromArgb(255, 236, 181), LinearGradientMode.Vertical);
                    //填充区域
                    Rectangle borderRect = new Rectangle(3, e.Bounds.Y, e.Bounds.Width - 5, e.Bounds.Height - 2);
    
                    e.Graphics.FillRectangle(brush, borderRect);
    
                    //画边框
                    Pen pen = new Pen(Color.FromArgb(229, 195, 101));
                    e.Graphics.DrawRectangle(pen, borderRect);
                }
                else
                {
                    SolidBrush brush = new SolidBrush(Color.FromArgb(255, 255, 255));
                    e.Graphics.FillRectangle(brush, e.Bounds);
                }
    
                //获得项图片,绘制图片
                ItemEx item = (ItemEx)Items[e.Index];
                Image img = item.Image;
    
                //图片绘制的区域
                Rectangle imgRect = new Rectangle(6, e.Bounds.Y + 3, 45, 45);
                e.Graphics.DrawImage(img, imgRect);
    
                //文本内容显示区域
                Rectangle textRect =
                        new Rectangle(imgRect.Right + 2, imgRect.Y, e.Bounds.Width - imgRect.Width, e.Bounds.Height - 2);
    
                //获得项文本内容,绘制文本
                String itemText = Items[e.Index].ToString();
    
                //文本格式垂直居中
                StringFormat strFormat = new StringFormat();
                strFormat.LineAlignment = StringAlignment.Center;
                e.Graphics.DrawString(itemText, new Font("微软雅黑", 12), Brushes.Black, textRect, strFormat);
                base.OnDrawItem(e);
            }
    
        }
    
        /// <summary>
        /// 下拉框  下拉列表 图片显示
        /// </summary>
        public class ItemEx
        {
            /// <summary>
            /// 图片显示
            /// </summary>
            /// <param name="text">文本</param>
            /// <param name="img">图片(图片路径)</param>
            public ItemEx(string text, Image img)
            {
                Text = text;
                Image = img;
            }
    
            public string Text { get; set; }
            public Image Image { get; set; }
    
            public override string ToString()
            {
                return Text;
            }
        }
    }
    
    

    组件编写完之后,进入工具箱,就能看到当前项目中我们自定义的组件了,使用方法跟普通控件方法完全相同,直接拖到窗体即可

    在这里插入图片描述

    展开全文
  • bootstrap的多选下拉框控件,通过对多选框的渲染,在下拉框中实现多选
  • 增强型的FlexComboBox控件,一款VB下拉框控件,带图标,支持模糊查找,模拟下拉框提示等功能,英文版,附上了源代码,便于二次开发和学习研究。
  • 摘要:脚本资源,Ajax/JavaScript,select控件,下拉框美化 Js模拟select控件,实际上可以当作下拉框来用,制作的精美漂亮,我喜欢,相信大家也会喜欢的,稍加修改,就可以变为一个漂亮的下拉菜单啦。
  • Qt 实现颜色下拉框控件 任务需求:实现颜色下拉框,选择有限颜色或自定义颜色,并记录历史颜色选项。 看了很多大佬实现的颜色方案,比如基于 QToolButton 的颜色下拉框控件,以及通过修改 QStyle 内容自定义下拉面板...
  • 一款可以下拉搜索html下拉框控件-附件资源
  • 多选下拉框.zip,multiple-select.js,使用说明.txt,multiple-select.css
  • 小福利,excel采用下拉框控件和复选框控件制作图表 第一部分:复选框制作图表 我们要实现的效果如下图所示,北上天成四个城市,每当我们选中一个复选框就会出现这个数据和相应的图表,其实原理很简单就是分别用了四...
  • 采用bootstrap-select控件。压缩包包含js , css文件,以及调用示例和常用方法。
  • 二、控件的设置 ——日期控件(开始时间和结束时间一样): 1.控件值 (='')这样的设置是为了选项一开始为空,效果如下 2.格式的话你看着你的数据格式来设置,注意写的sql也要对应。 ——平台名称、店铺...
  • vs工具箱常用控件

    千次阅读 2022-03-17 13:33:27
    radiobutton:单选框控件 lable:标签控件 combo box组合框(下拉列表) picture control图片控制 FileUpload:上传文件控件 timer:计时器 serialport:端口 textbox:文本框 panel:容器 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 35,644
精华内容 14,257
关键字:

vs下拉框控件

友情链接: lrem_solve.zip