国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C# 重寫ComboBox實現(xiàn)下拉任意組件的方法

2020-01-24 00:57:45
字體:
供稿:網(wǎng)友

一、需求

C#種的下拉框ComboBox不支持下拉復(fù)選框列表與下拉樹形列表等,系統(tǒng)中需要用到的地方使用了第三方組件,現(xiàn)在需要將第三方組件替換掉。

二、設(shè)計

基本思路:重寫ComboBox,將原生的下拉部分屏蔽,使用toolStripDropDown制作下拉彈出

三、問題解決

1. 問題:toolStripDropDown中放toolStripControlHost時會有邊框產(chǎn)生,同時CheckedListBox的duck為full時底端會有很大空白

解決:

toolStripControlHost.Margin = Padding.Empty;toolStripControlHost.Padding = Padding.Empty;toolStripControlHost.AutoSize = false;toolStripDropDown.Padding = Padding.Empty;CheckedListBox設(shè)置屬性IntergralHeight為false

2. 問題:BorderStyle對于不同組件的顯示效果不同,下拉部分邊緣顯示效果不好

解決:將組件BorderStyle統(tǒng)一設(shè)為None,再放入panel中,Panel重繪邊線與背景后加入toolStripControlHost

3. 問題:下拉部分需要實現(xiàn)可拖動大小

解決:通過MouseDown、MouseLeave、MouseMove三個事件配合Cusor的位置來實現(xiàn)鼠標(biāo)拖動改變組件大小,設(shè)置Label文字內(nèi)容為"

主站蜘蛛池模板: 宝坻区| 旺苍县| 蓝田县| 光泽县| 新丰县| 罗田县| 长丰县| 什邡市| 湛江市| 洛川县| 玉溪市| 江华| 南汇区| 万盛区| 石泉县| 新蔡县| 舒城县| 鄂托克前旗| 卢湾区| 辽宁省| 泗阳县| 海丰县| 方城县| 长治市| 东城区| 独山县| 台南县| 界首市| 资溪县| 永登县| 新河县| 阿巴嘎旗| 青海省| 阜宁县| 丰宁| 牡丹江市| 阿城市| 阿克| 上高县| 马龙县| 南涧|