C#组合框字符串值到对象变量到类?

C#组合框字符串值到对象变量到类?,c#,C#,我试图从组合框中获取一个字符串值,然后通过一个对象变量将其传递给一个类,并将其存储在一个字符串变量中 private void cboTimeZone_SelectedValueChanged(object sender, EventArgs e) { extTime1.timeZone = cboTimeZone.SelectedItem; } 我不完全习惯组合框选项来使用so。cboTimeZone是否包含字符串对象?在这种情况下,如果extTime1.timeZone是字

我试图从组合框中获取一个字符串值,然后通过一个对象变量将其传递给一个类,并将其存储在一个字符串变量中

 private void cboTimeZone_SelectedValueChanged(object sender, EventArgs e)
 {
     extTime1.timeZone = cboTimeZone.SelectedItem;
 }

我不完全习惯组合框选项来使用so。

cboTimeZone是否包含字符串对象?在这种情况下,如果extTime1.timeZone是字符串,则简单的强制转换就足够了:

extTime1.timeZone = (string)cboTimeZone.SelectedItem
如果cboTimeZone中填充了类型为
myObject
的对象,则如果在
myObject
类中重写了该项,则可以对该项使用ToString()方法:

extTime1.timeZone = cboTimeZone.SelectedItem.ToString()
如果选择了要在组合框中显示的
myObject
的特定属性
MyProperty
,则可以首先强制转换到该对象,然后使用

extTime1.timeZone = ((myObject)cboTimeZone.SelectedItem).MyProperty
从而获得该属性


希望能有所帮助。

您的问题不清楚您的
组合框是否有数据绑定;不管怎样,我认为最好先弄清楚
SelectedItem
是否确实是要使用的正确属性,或者是否有另一个更合适的属性

如果您已经为您的组合框设置了一个
数据源
,那么您可能还设置了一个
显示成员
。在这种情况下,
DisplayMember
将确定数据源当前选定项的哪个属性将作为文本显示在
组合框中

如果设置了
ValueMember
,还可以使用
SelectedValue
属性检索当前选定数据源项的属性

SelectedItem
只需检索当前选定的数据源项。这可能是复杂对象、字符串对象或其他对象;检查您的数据源


组合框
文本
属性仅包含当前显示在
组合框
的文本输入字段中的文本,并具有类型
字符串

“将字符串值从组合框通过对象变量传递到类,再传递到字符串变量”“你说的那个确切的意思是什么?”?这是否意味着您要将组合框的当前文本值存储在另一个对象的
字符串
字段/属性中?那就是一个简单的作业。>>我对那部分内容的拙劣解释是拙劣的。我想将组合框selectedValue的当前文本值存储在类中的字符串变量中。extTime1是该类的一个对象变量。@allthosemiles的可能重复:下面关于术语的解释在这里有些离题,但仍然有必要知道:在C#中,通常不将类的字段和属性称为“变量”;与不调用方法“函数”或“过程”相同。(所以,如果你说“类中的字符串变量”,像我这样的一些人可能会得出结论,你指的是某个未命名类中的
string
类型的静态字段,这显然不是你的意思。)好的。谢谢还是习惯了。还有所有的术语。谢谢。我从来没有见过这样的(弦)的位置。这正是我所需要的。因为一切都来自Object,而ToString是Object的一个成员,所以在第二个示例中不需要额外的强制转换。+1是的,你是对的,谢谢你的提示。只有当您想要链接到某个属性时,才可能对对象进行强制转换。我会改变上面的。