Vor*_*ler 6 .net c# combobox winforms
我用Enum的值填充了一个组合框.
现在组合框是正确的吗?所以我正在使用一个吸气剂和一个二传手.我在阅读文本时遇到了问题.
这是代码:
public BookType type
{
get
{
return (BookType)Enum.Parse(typeof(BookType), this.typeComboBox.Text);
}
set
{
this.typeComboBox.Text = value.ToString();
}
}
Run Code Online (Sandbox Code Playgroud)
出于某种原因,this.typeComboBox.Text当我在组合框中选择一个项目时,总是返回一个空字符串.
有人看到我做错了吗?
编辑:我得出结论,问题在于时机.我召唤文本的时间点确实是在我更改了组合框后,但仍然在该值被解析为值之前.现在以不同的方式解决问题,感谢所有的想法.
Muh*_*edh 34
试试这个.这对我有用.
string selectedText = this.ComboBox.GetItemText(this.ComboBox.SelectedItem);
Run Code Online (Sandbox Code Playgroud)
GetItemText方法分析项目并返回绑定到该项目的文本.
我刚刚创建了一个简单的 Windows 窗体,一切正常。这是代码。
public enum Test
{
One, Two, Three
}
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.comboBox1.DataSource = Enum.GetNames(typeof(Test));
}
public Test Test
{
get
{
return (Test)Enum.Parse(typeof(Test), this.comboBox1.Text);
}
set
{
this.comboBox1.Text = value.ToString();
}
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(this.Test.ToString());
this.Test = Test.Two;
MessageBox.Show(this.Test.ToString());
}
}
Run Code Online (Sandbox Code Playgroud)