Сейчас подсел на http://forum.vingrad.ru/forum/ доучиваю С# , интересный язык программирования… Просто балдею от классов, структур , делегатов, ссылок, функций и т.д.:)
Вот простенькая прога, присоединяйтесь к нам (в форум) :)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication3
{
// тестовое перечисление
[Flags]
public enum TestEnum
{
Alpha = 1,
Beta = 3,
Gamma,
Delta,
Epsilon = 8,
Zeta = Alpha | Gamma
}
///
/// Класс-элемент DataSource для ComboBox
///
public class EnumElement
{
private T val;
public T Value
{
get { return val; }
set { val = value; }
}
private string displayName;
public string DisplayName
{
get { return displayName; }
set { displayName = value; }
}
internal EnumElement(string displayName, T enumValue)
{
this.displayName = displayName;
this.val = enumValue;
}
///
/// Возвращает список элементов перечисления в виде массива EnumElement
///
public static EnumElement
{
Array enumValues = Enum.GetValues(typeof(T));
string[] displayNames = Enum.GetNames(typeof(T));
EnumElement
for(int i = 0; i < enumValues.Length; i++)
ret[i] = new EnumElement
return ret;
}
}
///
/// Тестовая форма
///
public partial class Form1 : Form
{
TestEnum myEnumInstance;
///
/// Объект перечисления, на который байндится comboBox1.SelectedValue
///
public TestEnum MyEnumInstance
{
get
{
return myEnumInstance;
}
set
{
myEnumInstance = value;
}
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
// устанавливаем DataSource для comboBox1
this.comboBox1.DataSource = EnumElement
this.comboBox1.ValueMember = "Value";
this.comboBox1.DisplayMember = "DisplayName";
// байндим comboBox1 на MyEnumInstance
this.comboBox1.DataBindings.Add("SelectedValue", this, "MyEnumInstance");
}
Комментариев нет:
Отправить комментарий