c#如何获取comboBox当前选中的值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#如何获取comboBox当前选中的值相关的知识,希望对你有一定的参考价值。

我更改 comboBox1选项框的值后,但是comboBox1.SelectedItem.ToString();的值并没有更改,一直都是语文,不及格名单后面的输出就是名字和选项框的值,我已经改成 “数学” 了,输出的还是 “语文”;

1、新建winform项目用于测试comboBox。

2、新建完成的项目结构。

3、在Form1窗体中添加一个comboBox,编译。

4、点击comboBox,右键选择属性,找到【items】项,在弹出的【字符串集合编辑器】中输入模拟项1到10。

5、加入模拟值后的运行效果如下,下拉显示了所有的10个项,没有滚动条。

6、再次找到comboBox,设置如下两项:IntegralHeight:false;MaxLength:3。

参考技术A 1.添加combobox后做如下设置

2.根据自己的需要在类中重写如下方法

// ==========================================================
// Combo box data source methods
// ==========================================================
- (NSInteger) numberOfItemsInComboBox: (NSComboBox *) aComboBox
#pragma unused (aComboBox)
return ([dataSource count]);

- (id) comboBox: (NSComboBox *) aComboBox objectValueForItemAtIndex: (NSInteger) index
#pragma unused (aComboBox)
return [dataSource objectAtIndex:index];

- (NSUInteger) comboBox: (NSComboBox *) aComboBox indexOfItemWithStringValue: (NSString *) string
#pragma unused (aComboBox)
return [dataSource indexOfObject:string];


- (NSString *) firstGenreMatchingPrefix: (NSString *) prefix
NSString *string = nil;
NSString *lowercasePrefix = [prefix lowercaseString];
NSEnumerator *stringEnum = [dataSource objectEnumerator];

while ( string = [stringEnum nextObject] )
if ([[string lowercaseString] hasPrefix:lowercasePrefix] )
return (string) ;


return (nil);
// firstGenreMatchingPrefix

- (NSString *) comboBox: (NSComboBox *) aComboBox completedString: (NSString *) inputString
#pragma unused (aComboBox)
// This method is received after each character typed by the user, because we have checked the "completes" flag for
// genreComboBox in IB.
// Given the inputString the user has typed, see if we can find a genre with the prefix, and return it as the suggested complete
// string.
NSString *candidate = [self firstGenreMatchingPrefix:inputString];
return (candidate ? candidate : inputString);

这些方法实现combobox在选择选项、自动完成时的处理方式。其中dataSource为NSArray。
3.设置combobox的datasource为实现上述方法的对象即可。
参考技术B 您要注意的是,你是“输入”的 数学,并非“选择”了 数学
正确代码:xx = comboBox1.Text;追问

这是comboBox1多选框,下拉有语文,数学,英语3项,不是选择了数学吗?

我改成comboBox1.Text;也还是不行

追答

不会吧,我这里测试没问题啊!!!

追问

有更换过里面的内容吗?我第一个是没问题,换了一个里面的值不会更新

追答

试了,两种方法都可以!

comboBox1.Text;

comboBox1.SelectedItem.ToString();

本回答被提问者采纳
参考技术C onSelect:function(rec)varval=$('#cc1').combobox('getValues').join(',');$('#OperationID').val(val);这样可以多选,用一个文本框解决后台取值问题,后台直接取值的话,跟你一样问题 参考技术D DataRowView drv = (DataRowView)comboBox1.SelectedItem;
string Id = drv.Row["id"].ToString();

c# winform listbox 如何 获取 当前 选中的值 急!!!

参考技术A 可以呀~
我在listbox外放了个按钮,点击按钮显示选中行的值
//循环listbox所有行
for
(int
i
=
0;
i
<
listBox1.Items.Count;
i++)

//行被选中时
if
(listBox1.SelectedItems.Contains(listBox1.Items[i]))

MessageBox.Show(listBox1.Items[i].ToString());


这样就检测出你选择了哪一行,并显示它的文本

以上是关于c#如何获取comboBox当前选中的值的主要内容,如果未能解决你的问题,请参考以下文章

如何获取combobox选中的值

如何获取combobox选中的值

如何获取c#中combox选定的值

c# 如何获得combobox的下拉表中选中项id的值

C# 如何获取listview里面当前选中的item

c# winform listbox 如何 获取 当前 选中的值 急!!!