写了一段代码,希望通过comboBox选项自动关联填充另外两项输入框时发现数据获取异常
comboBox绑定数据源代码如下:
this.cbKHMC.DataSource = dt;
this.cbKHMC.DisplayMember = "Name";
this.cbKHMC.ValueMember = "Value";
this.cbKHMC.AutoCompleteSource = AutoCompleteSource.ListItems;
this.cbKHMC.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
实现代码如下:
private void SelectedIndexChanged(object sender, EventArgs e)
{
//显示简称和拼音
string strKHMC = this.cbKHMC.Text.Trim();
调试时窗口界面数据显示正常,但设置断点候发现strKHMC首次返回的总是System.data.dataRowView,与初始化的数据不一致。事件函数换成SelectionChangeCommitted
后,显示正常,取值正常,但发现取到的值是选择内容变化前的值,而非选中值。网上搜出不少类似问题,但没有看到满意的答案,经过尝试,绑定数据源代码略微调整后即可在SelectedIndexChanged事件中获得预期值。
comboBox绑定数据源代码调整为:
this.cbKHMC.DisplayMember = "Name";
this.cbKHMC.ValueMember = "Value";
this.cbKHMC.DataSource = dt;
this.cbKHMC.AutoCompleteSource = AutoCompleteSource.ListItems;
this.cbKHMC.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
附:comboBox选项变化触发事件代码,有三种选择
SelectionChangeCommitted
()
在选定项发生更改并且该更改显示在 ComboBox 中时发生
SelectedIndexChanged()
在 SelectedIndex 属性更改后发生
SelectValueChanged()
当 SelectedValue 属性更改时发生
|
[http://rdc.hundsun.com/forum.php?mod=viewthread&tid=215&page=1]duansp发短消息加为好友duansp 当前离线注册时间2010-11-24 最后登录2012-1-14 阅读权限100 积分786 精华0 帖子119 版主
本文实例讲述了WinForm
中
comboBox
控件
数据
绑
定
实现方法。分享给大家供大家参考,具体如下:
下面介绍三种对
comboBox
绑
定
的方式,分别是泛型
中
IList和Dictionary,还有
数据
集DataTable
一、IList
现在我们直接创建一个List集合,然后
绑
定
IList list = new List();
list.Add(111111);
list.Add(222222);
list.Add(333333);
list.Add(444444);
comboBox
1.DataSource = list;
执行后,我们会
1,更改DataGridView
ComboBox
Column点击两次变为点击一次
private void dataGridView2_CellEnter_1(object sender, DataGridViewCellEventArgs e)
index = e.RowIndex;
//实现单击一次显示下拉列表框
if (da...
c#
调用WinAPI 设置
Combobox
选择项时手动触发CBN_SELCHANGE
事件
的方法选
中
包含指
定
文本的
Combobox
选项触发SelectChange
选
中
包含指
定
文本的
Combobox
选项
最近因为开发一个桌面系统插件,需要根据指
定
的文本内容自动选
中
窗口上的
Combobox
。逻辑上不复杂,先获
取
到
Combobox
的句柄,SendMessage发送CB_GETCOUNT获
取
Combobox
中
的选项数,再遍历发送CB_GETLBTEXTLEN获
取
每个选项的文本长度,发送CB_GETLBTEXT读
取
想要实现button按钮实现
ComboBox
的SelectedIndexChanged
事件
,网上搜索都是一些不被触发的问题,既然没人问,那应该是有些简单吧。问了懂得人最后终于写出来了。实现方法:private void comboLevel_SelectedIndexChanged(object sender, EventArgs e)
{...}
private void button4_Clic
一、了解
C#
中
的预
定
义
事件
处理机制
在写代码前我们先来熟悉.net框架
中
和
事件
有关的类和委托,了解
C#
中
预
定
义
事件
的处理。
EventArgs是包含
事件
数据
的类的基类,用于传递
事件
的细节。
EventHandler是一个委托声明如下
public delegate void EventHandler( objectsender, EventAr...
在.Net 2.0版本之后,就默认提供了System.IO.Ports.SerialPort类,用户可以简单地编写少量代码就完成串口的信息收发程序。
// 代码 (下拉触发
事件
)
private void
comboBox
Uart_2_DropDown(object sender, EventArgs e)
int i = 0;
this.
comboBox
Uart_2....
今天回答了坛子里一位朋友的提问,问题是这样的:
comboBox
1
绑
定
数据
源后,怎么获
取
comboBox
1所选
中
行对应
数据
源
中
的其他字段值。以前没注意过这方面的积累。
今天写到博客分享一下。虽然简单,我还是写一下。
comboBox
1
绑
定
了
数据
源datatable
datatable
中
有三个字段,分别为id, name,number;
设置如下:
id作为
comboBox
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget, Q
ComboBox
, QPushButton
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('
ComboBox
')
# 添加
ComboBox
self.
comboBox
= Q
ComboBox
(self)
self.
comboBox
.setGeometry(20, 20, 150, 30)
self.
comboBox
.addItem('Option 1')
self.
comboBox
.addItem('Option 2')
self.
comboBox
.addItem('Option 3')
# 添加Button
self.button = QPushButton('Click', self)
self.button.setGeometry(180, 20, 80, 30)
#
绑
定
Button的clicked信号与
事件
处理函数
self.button.clicked.connect(self.onButtonClick)
self.show()
def onButtonClick(self):
# 获
取
当前选
中
的
ComboBox
的选项
selected_option = self.
comboBox
.currentText()
# 根据选项执行对应的操作,这里只是简单的打印选项
print(selected_option)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
在这个示例
中
,我们创建了一个界面,添加了一个
ComboBox
和一个Button,并将Button的clicked信号与onButtonClick
事件
处理函数
绑
定
起来。
在onButtonClick
事件
处理函数
中
,我们通过调用Q
ComboBox
的currentText()方法获
取
当前选
中
的选项,并根据选项执行对应的操作。这里只是简单的打印选项,你可以根据自己的需求进行修改。