C# ComboBox SelectedText属性和SelectedValue属性理解
在学习 ComboBox 时,遇到如下2个问题:
SelectedValue属性总为 "null"
SelectedText值总为 ""
SelectedValue
其实官方资料已经指明了问题原因,只是第一眼看过去没有理解:
获取或设置由 ValueMember 属性指定的成员属性的值。
包含由 ValueMember 属性指定的数据源成员的值的对象。
之前试验时,只是简单的通过 Item 字符串值。
而实际使用时,如果通过 comboBox 的 DataSource 属性确定数据,
数据是一个对象A,A的每一项有属性(B,C,D)。那么需要选择作为 Value 的 A的某个属性,即 comboBox 的 ValueMember。 如下例子,我创建了 Test类,Test类有 id 和 name 2个属性:
如下,选择Index为1时,回读SelectedValue,则 SelectedValue=0x10
-
IList<Test> tList = new List<Test> {
-
new Test{id=1,name="A"},
-
new Test{id=16,name="B"},
-
new Test{id=333,name="C"}
-
};
-
-
comboBox1.DataSource = tList;
-
comboBox1.DisplayMember = "name";
-
comboBox1.ValueMember = "id";
-
comboBox1.SelectedIndex = 1;
SelectedText
还是学习官方资料
获取或设置 ComboBox 的可编辑部分中选定的文本。
其实关键在于,选定的文本,如官方文档所说,当丢失焦点时,也就丢失了选定
注解
可以使用该 SelectedText 属性检索或更改控件中 ComboBox 当前选定的文本。 但是,应注意,由于用户交互,所选内容可能会自动更改。 例如,如果在按钮Click事件处理程序中检索SelectedText值,该值将为空字符串。 这是因为当输入焦点从组合框移动到按钮时,会自动清除所选内容。
当组合框失去焦点时,选择点将移动到文本的开头,并且任何所选文本都变为未选中状态。 在这种情况下,获取 SelectedText 属性将检索一个空字符串,并设置该属性会将 SelectedText 指定的值添加到文本的开头。
当组合框获得焦点时,将自动选择控件中的全文。 如果调用控件 Focus 的方法来设置输入焦点,则无论控件是否已具有焦点,都会选择全文。
当用户从下拉列表中选择项目或使用向上键和向下键时,将自动选择新项的文本。 但是,如果尝试获取 SelectedText 某个 SelectedIndexChanged 或 SelectedValueChanged 事件处理程序中的值,该属性将返回一个空字符串。 这是因为,在这些事件发生时,已清除以前的 SelectedText 值,并且尚未设置新值。 若要检索某个或事件处理程序中的SelectedIndexChanged当前值,请改用该SelectedItem属性。SelectedValueChanged
所以,很简单的,给button设置个快捷键,然后选定部分comboBox的文本,则可以直接显示对应文本。如下,设置快捷键P,选定部分comboBox编辑框里的文本,按alt P,则能看到效果
-
...
-
button1.Text = "button1&P";
-
...
-
-
-
public void button1_Click(object sender, EventArgs e)
-
{
-
//comboBox1.Focus();
-
MessageBox.Show(comboBox1.SelectedText);
-
}
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhfiicck
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13