标签: combobox

ComboBox与空项目?

假设我们有一个DataSource绑定到Database的集合.当然没有空项.如何将void项添加到ComboBox中,以便在第一次加载用户时会看到一个空字符串.我不想在Collection中添加一个dummy/void对象.最适合XAML.有什么建议?

wpf combobox

36
推荐指数
1
解决办法
5万
查看次数

通过键入选择comboBox中的项目

我有一个组合框,里面有数百个项目.用户必须能够在组合框中键入文本.当用户键入文本时,必须选择或列出以键入值开头的项目.用户必须能够连续输入.我的ComboBox DropDownStyle是DropDownList

例如:通过键入在comboBox中选择名称时,它只允许一个字母.因此,如果我输入"A",它将跳转到以"A"开头的第一个字母.当我连续输入组合框时,所选项目根据当前按键变化.如果我按"As",组合框查看以"s"开头的项目.

我正在使用Win Forms.

提前致谢..

c# combobox winforms

36
推荐指数
1
解决办法
6万
查看次数

正在寻找带有复选框的WPF ComboBox

我的谷歌技能让我失望.任何人都听说过像WPF这样的控件.我试图让它看起来像这样(winforms截图).

alt text http://www.angryhacker.com/toys/up.png

wpf combobox checkedlistbox

35
推荐指数
4
解决办法
6万
查看次数

获得组合框的选定值

public class ComboboxItem { 
            public string Text { get; set; } 
            public string Value { get; set; }
            public override string ToString() { return Text; } 
        }

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            int selectedIndex = comboBox1.SelectedIndex;
            int selecteVal = (int)comboBox1.SelectedValue; 
            ComboboxItem selectedCar = (ComboboxItem)comboBox1.SelectedItem;
            MessageBox.Show(String.Format("Index: [{0}] CarName={1}; Value={2}", selectedIndex, selectedCar.Text, selecteVal));
        }
Run Code Online (Sandbox Code Playgroud)

我正在添加它们:

ComboboxItem item = new ComboboxItem();
                    item.Text = cd.Name;
                    item.Value = cd.ID;
                    this.comboBox1.Items.Add(item);
Run Code Online (Sandbox Code Playgroud)

我一直得到一个NullReferenceExeption,不知道为什么.文本似乎显示得很好.

c# combobox selectedvalue selectedindexchanged selecteditem

35
推荐指数
3
解决办法
25万
查看次数

在ComboBox中对项目进行分组

我有一个ListView,它包含两种类型的对象,单个和多个.单个是普通的TextBlock,而倍数是带有项目的ComboBox.

我正在尝试将ComboBox中的项目分组而没有成功.可能吗?或者我应该采取不同的方法?

我想要实现的目标:

[ComboBox v]
    [Header  ]
    [    Item]
    [    Item]
    [Header  ]
    [    Item]
Run Code Online (Sandbox Code Playgroud)

wpf combobox mvvm collectionviewsource

34
推荐指数
1
解决办法
2万
查看次数

如何在第一次单击时激活组合框(Datagridview)

在winforms中,您需要单击组合框两次以正确激活它 - 第一次聚焦它,第二次实际获取下拉列表.

如何更改此行为以便在第一次单击时激活?

这适用于DATAGRIDVIEW组合框.

.net c# combobox datagridview winforms

34
推荐指数
3
解决办法
4万
查看次数

如何在HTML/Javascript中创建可编辑的组合框?

我需要让用户从下拉列表中选择一个项目,但也允许他们输入任何文本,即使它与列表中的项目不匹配.如何在包含HTML和Javascript的网页上实现此目的?

select字段不允许用户输入文本,input文本字段不显示首选替代项.

如果用户打开下拉列表,则必须显示所有项目,因此它不能是仅显示匹配项目的简单自动完成.

html javascript combobox drop-down-menu

32
推荐指数
2
解决办法
10万
查看次数

WPF:如何将对象绑定到ComboBox

试图学习如何将对象绑定到各种类型的控件.在这个例子中,我想让我的对象中的示例数据出现在ComboBox中.代码运行,但出现的不是值(David,Helen,Joe)是文本"TheProtect.UserControls.Client")

XAML:(ucDataBindingObject.xaml)

<UserControl x:Class="TheProject.UserControls.ucDataBindingObject"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             Width="Auto"
             Height="Auto"
             mc:Ignorable="d">

    <Grid Width="130"
          Height="240"
          Margin="0">

            <ComboBox Width="310"
                      HorizontalAlignment="Left"
                      VerticalAlignment="Top"
                      ItemsSource="{Binding Path=Clients}" />
    </Grid>
</UserControl>
Run Code Online (Sandbox Code Playgroud)

C#:ucDataBindingObject.xaml.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Controls;
namespace TheProject.UserControls
{
    public partial class ucDataBindingObject : UserControl
    {

        public List<Client> Clients { get; set; }


        public ucDataBindingObject()
        {
            Clients = new List<Client>();
            Clients.Add(new Client(1, "David")); // sample data
            Clients.Add(new Client(2, "Helen"));
            Clients.Add(new Client(3, "Joe"));


            InitializeComponent();
            this.DataContext = this;
        }
    }
Run Code Online (Sandbox Code Playgroud)

C#Client.cs

using System;
using System.Linq; …
Run Code Online (Sandbox Code Playgroud)

data-binding wpf xaml combobox object

32
推荐指数
2
解决办法
5万
查看次数

获取串口信息

我有一些代码将串行端口加载到一个组合框中:

     List<String> tList = new List<String>(); 

     comboBoxComPort.Items.Clear();

     foreach (string s in SerialPort.GetPortNames())
     {
        tList.Add(s);
     }

     tList.Sort();
     comboBoxComPort.Items.Add("Select COM port...");
     comboBoxComPort.Items.AddRange(tList.ToArray());
     comboBoxComPort.SelectedIndex = 0;
Run Code Online (Sandbox Code Playgroud)

我想将端口描述(类似于设备管理器中的COM端口所示)添加到列表中,并对列表中位于索引0之后的项进行排序(已解决:请参阅上面的代码段).有没有人有任何关于添加端口描述的建议?我使用的是Microsoft Visual C#2008 Express Edition(.NET 2.0).您可能有任何想法,将不胜感激.谢谢.

c# sorting combobox serial-port

31
推荐指数
6
解决办法
10万
查看次数

WinForms ComboBox DropDown和Autocomplete窗口都会出现

我在ComboBox这个代码的winforms应用程序上有一个:

comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
comboBox1.AutoCompleteSource = AutoCompleteSource.ListItems;

DataTable t = new DataTable();
t.Columns.Add("ID", typeof(int));
t.Columns.Add("Display", typeof(string));

for (int i = 1; i < 2000; i++)
{
    t.Rows.Add(i, i.ToString("N0"));
}

comboBox1.DataSource = t;
comboBox1.ValueMember = "ID";
comboBox1.DisplayMember = "Display";
Run Code Online (Sandbox Code Playgroud)

然后,当窗口打开时,我按照以下步骤操作:

  1. 单击ComboBox下拉按钮 - 显示项目列表并选择文本ComboBox
  2. 输入'5','1'...即我想使用自动完成来搜索515,516等.
  3. 您将看到自动完成窗口现在显示在下拉列表的顶部.但是,如果我将鼠标移过,它就是自动完成窗口后面的模糊下拉窗口,它接收鼠标事件,包括点击.所以我想我点击一个自动完成的项目,但实际上点击了一些我看不到的完全随机的东西.

这是一个错误ComboBox吗?如果重要的话,我正在使用Windows 7.我是以ComboBox某种方式配置错误的?

另请注意,使用KEYBOARD会使用自动完成下拉菜单.所以上/下箭头键正在使用前窗,但鼠标正在使用后窗.

在此输入图像描述

c# combobox autocomplete winforms

30
推荐指数
2
解决办法
4万
查看次数