WPF和winform区别 combobox 填充list例子

2021-02-13 14:22

阅读:390

区别:

var deviceEnum = new MMDeviceEnumerator();
var devices = deviceEnum.EnumerateAudioEndPoints(DataFlow.Capture, DeviceState.Active).ToList();
combDevice.ItemsSource = devices;//wpf

combDevice.DataSource = devices;//WINFORM

------

comboBox1.DataSource = bindingSource1.DataSource;//WINFORM

生成ComboBox list代码例子:
 1 Liststring> list = new Liststring>();
 2  BindingSource bsource=new BindingSource();
 3 
 4  //Set list dataSource
 5  bsource.DataSource = list;
 6  comboBox1.DataSource = bsource;
 7 
 8  //Now add an element via Binding object
 9  bsource.Add("One");
10  bsource.Add("Two");

代码例子2:
 1 public class Country
 2 {
 3     public string Name { get; set; }
 4     public IList Cities { get; set; }
 5     public Country(string _name)
 6     {
 7         Cities = new List();
 8         Name = _name;
 9     }
10 }
11 
12 
13 
14 List countries = new List { new Country("UK"), 
15                                      new Country("Australia"), 
16                                      new Country("France") };
17 
18 bindingSource1.DataSource = countries;
19 
20 comboBox1.DataSource = bindingSource1.DataSource;
21 
22 comboBox1.DisplayMember = "Name";
23 comboBox1.ValueMember = "Name";

 

 

Or you may try ArrayList.Adapter method that creates Adapter wrapper of IList.

ArrayList items;

items=ArrayList.Adapter(comboBox1.Items);
items.Add("one");


其他

ComboBox代码:
 1   void Form1Load(object sender, EventArgs e)
 2         {
 3             Liststring> myitems = new Liststring>
 4             {
 5                 "Item 1",
 6                 "Item 2",
 7                 "Item 3"
 8             };
 9 
10             ComboBox box = new ComboBox();
11             box.Bounds = new Rectangle(10, 10, 100, 50);
12             source1.DataSource = myitems;
13             box.DataSource = source1;
14 
15             ComboBox box2 = new ComboBox();
16             box2.Bounds = new Rectangle(10, 80, 100, 50);
17             source2.DataSource = myitems;
18             box2.DataSource = source2;
19 
20             Controls.Add(box);
21             Controls.Add(box2);
22         }

ref:

https://stackoverflow.com/questions/600869/how-to-bind-a-list-to-a-combobox-winforms

https://stackoverflow.com/questions/482/winforms-combobox-data-binding-gotcha

 

其他区别:

private void btIATstop_Click(object sender, EventArgs e)

private void btnStop_Click(object sender, RoutedEventArgs e) //WPF

 
 


评论


亲,登录后才可以留言!