在Combox中有一系列的选项,其选项的SelectedIndex值对应了相应的枚举值,而这些枚举值会影响着后续的工作模式,所以就想着将Combox的SelectedIndex和枚举值进行双向绑定,代码如下
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
//Add
using System.Linq.Expressions;
namespace ComboxBinding
{
public partial class FormMain : Form
{
public FormMain()
{
InitializeComponent();
}
private BindingDataProperyty _bindingDataProperty = null;
private void FormMain_Load(object sender, EventArgs e)
{
for (int index = 0; index < 10; index++)
{
comboBoxData.Items.Add(index.ToString());
}
_bindingDataProperty = new BindingDataProperyty();
comboBoxData.DataBindings.Add("SelectedIndex",
_bindingDataProperty,
"Way_pro",
false,
DataSourceUpdateMode.OnPropertyChanged);
}
private void buttonShow_Click(object sender, EventArgs e)
{
MessageBox.Show(((WAYS)_bindingDataProperty.Way_pro).ToString());
}
}
public enum WAYS
{
WAY0 = 0x00,
WAY1 = 0x01,
WAY2 = 0x02,
WAY3 = 0x03,
WAY4 = 0x04,
WAY5 = 0x05,
WAY6 = 0x06,
WAY7 = 0x07,
WAY8 = 0x08,
WAY9 = 0x09
}
public class BindingDataProperyty : INotifyPropertyChanged
{
#region Way Property
private WAYS _way = 0;
public WAYS Way_pro
{
get
{