下拉列表框弹出树(ComboBoxTreeView)
来源:互联网 发布:阿里云 1m带宽 多少人 编辑:程序博客网 时间:2024/04/30 11:26
using System.Data;
using System.Text;
using System.Windows.Forms;
namespace WinApp
{
public class ComboBoxTreeView : ComboBox
{
private const int WM_LBUTTONDOWN = 0x201, WM_LBUTTONDBLCLK = 0x203;
ToolStripControlHost treeViewHost;
ToolStripDropDown dropDown;
public ComboBoxTreeView()
{
TreeView treeView = new TreeView();
treeView.AfterSelect+=new TreeViewEventHandler(treeView_AfterSelect);
treeView.BorderStyle = BorderStyle.None;
treeViewHost = new ToolStripControlHost(treeView);
dropDown = new ToolStripDropDown();
dropDown.Width = this.Width;
dropDown.Items.Add(treeViewHost);
}
public void treeView_AfterSelect(object sender, TreeViewEventArgs e)
{
this.Text=TreeView.SelectedNode.Text;
dropDown.Close();
}
public TreeView TreeView
{
get { return treeViewHost.Control as TreeView; }
}
private void ShowDropDown()
{
if (dropDown != null)
{
treeViewHost.Size =new Size(DropDownWidth-2,DropDownHeight);
dropDown.Show(this, 0, this.Height);
}
}
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_LBUTTONDBLCLK || m.Msg == WM_LBUTTONDOWN)
{
ShowDropDown();
return;
}
base.WndProc(ref m);
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
if (dropDown != null)
{
dropDown.Dispose();
dropDown = null;
}
}
base.Dispose(disposing);
}
}
}
using System.Text;
using System.Windows.Forms;
namespace WinApp
{
public class ComboBoxTreeView : ComboBox
{
private const int WM_LBUTTONDOWN = 0x201, WM_LBUTTONDBLCLK = 0x203;
ToolStripControlHost treeViewHost;
ToolStripDropDown dropDown;
public ComboBoxTreeView()
{
TreeView treeView = new TreeView();
treeView.AfterSelect+=new TreeViewEventHandler(treeView_AfterSelect);
treeView.BorderStyle = BorderStyle.None;
treeViewHost = new ToolStripControlHost(treeView);
dropDown = new ToolStripDropDown();
dropDown.Width = this.Width;
dropDown.Items.Add(treeViewHost);
}
public void treeView_AfterSelect(object sender, TreeViewEventArgs e)
{
this.Text=TreeView.SelectedNode.Text;
dropDown.Close();
}
public TreeView TreeView
{
get { return treeViewHost.Control as TreeView; }
}
private void ShowDropDown()
{
if (dropDown != null)
{
treeViewHost.Size =new Size(DropDownWidth-2,DropDownHeight);
dropDown.Show(this, 0, this.Height);
}
}
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_LBUTTONDBLCLK || m.Msg == WM_LBUTTONDOWN)
{
ShowDropDown();
return;
}
base.WndProc(ref m);
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
if (dropDown != null)
{
dropDown.Dispose();
dropDown = null;
}
}
base.Dispose(disposing);
}
}
}
- 下拉列表框弹出树(ComboBoxTreeView)
- 下拉列表框弹出树(ComboBoxTreeView)
- VS2005下ComboBoxTreeView(下拉列表框弹出树) 与ToolStripComboBoxTreeView(下拉列表框工具条弹出树)的实现 (转)
- VS2005下ComboBoxTreeView(下拉列表框弹出树) 与ToolStripComboBoxTreeView(下拉列表框工具条弹出树)的实现
- VB.Net程序设计:下拉列表树控件ComboBoxTreeView
- MFC编程中,组合框下拉列表不能弹出
- 下拉列表框(JComboBox)
- 弹出层如何覆盖过下拉列表
- Android 之PopupWindow弹出下拉列表
- 运用PopWindow实现仿微信弹出下拉列表
- Android 之PopupWindow弹出下拉列表
- 设置select下拉菜单不弹出列表
- unity_NGUI系统学习(十一)_PopupList下拉列表(弹出列表)的创建和使用
- Ext mvc 下的点击表格后弹出框中有下拉列表框 下拉列表框值如何显示
- 自定义下拉弹出框
- android下拉弹出框
- 点击弹出下拉框
- 数据列表初始化下拉框及下拉树
- UART异步串行接口模块设计
- ie6,ie7,ie8 ie的还原问题解决办法
- 明天去笔试
- MSN错误代码(error coed)解决大全
- 一种java赋值的方式
- 下拉列表框弹出树(ComboBoxTreeView)
- Connecting to MySQL 5.0 from Visual C# 2005
- VC++6.0中内存泄漏检测
- Sql初级设计实例:小说网
- vc++访问javascript(5)--绑定网页元素的事件
- C++学习笔记(一)
- 制定合理的软件测试流程
- for all entries in语句
- 学习《ASP.NET 2.0的URL映射的实现方法》