вторник, 1 сентября 2009 г.

Сегодняшние пироги:)

Я сделал это - вступил в ЛДП (либерально демократическая партия), а ИП хочу закрыть, надо по второму высшему диплом писать, а времени мало…

Сейчас подсел на 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[] GetElements()
{
Array enumValues = Enum.GetValues(typeof(T));
string[] displayNames = Enum.GetNames(typeof(T));
EnumElement[] ret = new EnumElement[enumValues.Length];
for(int i = 0; i < enumValues.Length; i++)
ret[i] = new EnumElement(displayNames[i], (T)enumValues.GetValue(i));
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.GetElements();
this.comboBox1.ValueMember = "Value";
this.comboBox1.DisplayMember = "DisplayName";

// байндим comboBox1 на MyEnumInstance
this.comboBox1.DataBindings.Add("SelectedValue", this, "MyEnumInstance");
}

Комментариев нет:

Отправить комментарий