请教高手,如何实现在ComboBox中有像CheckListbox中每个条目都有复选框?

hejialin666 2010-01-19 10:42:29
谢谢高手们!
...全文
389 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangyue4 2010-01-19
  • 打赏
  • 举报
回复
http://www.codesoso.com/code/CheckBox-ComboBox.aspx
看看注册能下么,我也看看
hejialin666 2010-01-19
  • 打赏
  • 举报
回复
好像网上有专门封装好的这种控件,谁用过吗?介绍一个吧!
hejialin666 2010-01-19
  • 打赏
  • 举报
回复
高手们能给个简单的代码吗?
分可以再给!
hejialin666 2010-01-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wangyue4 的回复:]
我觉得自定义控件就是以panel为基类定义,自己画一个commbox,点击下拉后panel会显示。panel中自己再设每一个子项,由checkbox,panel组成就可以吧
[/Quote]
这个思路不错!我试一试。
不知有没有刚好的方法!
wangyue4 2010-01-19
  • 打赏
  • 举报
回复
我觉得自定义控件就是以panel为基类定义,自己画一个commbox,点击下拉后panel会显示。panel中自己再设每一个子项,由checkbox,panel组成就可以吧
hejialin666 2010-01-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 shiguohui000 的回复:]
自定认控件吧,没办法。
[/Quote]
自定义控件我也没有思路呀!
拖上来个ComboBox,把它改成这个样子?怎么改?
shighui 2010-01-19
  • 打赏
  • 举报
回复
自定认控件吧,没办法。
hejialin666 2010-01-19
  • 打赏
  • 举报
回复
10楼的那个好强大呀!
  • 打赏
  • 举报
回复
你说的那个是不是asp.net ajax toolkit中的Dropdown控件?

http://www.asp.net/AJAX/AjaxControlToolkit/Samples/DropDown/DropDown.aspx
wuyq11 2010-01-19
  • 打赏
  • 举报
回复
自定义
ComboBox
段传涛 2010-01-19
  • 打赏
  • 举报
回复
参考这个控件DropDownCheckList

<%@ Register assembly="DropDownCheckList" namespace="UNLV.IAP.WebControls" tagprefix="dropcheck" %>
<dropcheck:DropDownCheckList runat ="server" ID ="ddlBuWei" DataTextField="Name"
RepeatColumns="1" DisplayTextWidth="80" DataValueField="ID"
TextWhenNoneChecked="请选择" DisplayTextList="Labels"
ClientCodeLocation="DropDownCheckList.js" Height ="16px" Width ="135px" ScrollBars="Vertical" >
</dropcheck:DropDownCheckList>
mngzilin 2010-01-19
  • 打赏
  • 举报
回复
我简单画了一个,你自己测试下

现在界面上拖放一个ComboBox,然后添加如下代码:
public Form1()
{
InitializeComponent();
this.Load += new EventHandler(Form1_Load);

}
void Form1_Load(object sender, EventArgs e)
{
comboBox1.DrawMode = DrawMode.OwnerDrawFixed;
comboBox1.DrawItem += new DrawItemEventHandler(comboBox1_DrawItem);
comboBox1.Items.Add("sd1");
comboBox1.Items.Add("sd2");
comboBox1.Items.Add("sd3");
}
protected void comboBox1_DrawItem(object sender, DrawItemEventArgs e)
{
ComboBox cb = sender as ComboBox;
Graphics g = e.Graphics;
Pen p = new Pen(Color.Blue, 1);
g.DrawRectangle(p, e.Bounds.X + 1, e.Bounds.Y + 1, 12, 12);
if (e.Index == cb.SelectedIndex)
g.DrawString("√", new Font(FontFamily.GenericSerif, 10), Brushes.Red,
e.Bounds.Location, StringFormat.GenericDefault);
g.DrawString(cb.GetItemText(cb.Items[e.Index]), new Font(FontFamily.GenericSerif, 9),
Brushes.Black, 15, e.Bounds.Y + 1, StringFormat.GenericDefault);
}


样式出来了,功能也有了,但是有一个小问题,就是鼠标在item上移动时候,会在所有的项目上都画上对勾,但是当你选择了一项的时候,显示就正常了。

这个问题期待你来解决,呵呵~~~

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧