我已经实现了一个组合框,其中有一个复选框(Windows窗体应用程序)。这工作非常好。在Visual Studio中增强组合框
使用:C#,Visual Studio 2010中
问题: 问题,我的组合框是下拉选择每次关闭后。
问题: 是否有任何可能的下拉菜单保持固定直到我选择多个项目?
只是想知道是否有办法做到这一点。
谢谢。
我已经实现了一个组合框,其中有一个复选框(Windows窗体应用程序)。这工作非常好。在Visual Studio中增强组合框
使用:C#,Visual Studio 2010中
问题: 问题,我的组合框是下拉选择每次关闭后。
问题: 是否有任何可能的下拉菜单保持固定直到我选择多个项目?
只是想知道是否有办法做到这一点。
谢谢。
我认为Wpf扩展工具包CheckComboBox正是你试图做的。 请参阅以下链接了解更多信息。
你可以在你的WinForm
http://wpftoolkit.codeplex.com/wikipage?title=CheckComboBox&referringTitle=Home
是的。但链接指出它仍然被添加到工具包中。 – JJunior 2011-12-14 20:45:53
添加这个WPF控件假设您正在使用的WinForms工作:
public class CheckComboBox : ComboBox
{
Timer _timer = new Timer();
public CheckComboBox()
{
_timer.Interval = 1;
_timer.Tick += timer_Tick;
}
protected override void OnDropDownClosed(EventArgs e)
{
base.OnDropDownClosed(e);
if (checkbox has been clicked) {
_timer.Start();
}
}
void timer_Tick(object sender, EventArgs e)
{
_timer.Stop();
DroppedDown = true; // Reopens dropdown.
}
}
您可以关闭停止组合框,如果你阻止你的复选框从点击时获得焦点。
要做到这一点,你需要从CheckBox类派生并和覆盖控制标志在构造函数中:
SetStyle(ControlStyles.Selectable, false);
的WinForms,WPF,还是别人?请添加标签。 – 2011-12-14 19:51:13
你如何设想用户通信他们完成选择?这个想法违反了组合框的一些公认的用户惯例 - 并且最好用自定义解决方案(例如,在对话框或小窗体上弹出CheckListBox)。 – 2011-12-14 22:23:58
@JohnArlen例如* look-and-feel *你可以看** Windows资源管理器**或** Excel **。 – 2011-12-16 21:25:19