Простое событие соединяет шиной для [закрытой].NET

Вы можете сделать это, убедившись, что все добавленные вами даты и времени имеют одинаковую дату. А затем, установив несколько параметров на оси Y. Смотрите ниже:

public Form1()
{
  InitializeComponent();

  DateTime startTime = DateTime.MinValue.Add(new TimeSpan(8, 25, 0));
  DateTime endTime   = DateTime.MinValue.Add(new TimeSpan(10, 45, 0));
  chart1.Series["RUN"].Points.AddXY(
    1,
    startTime,
    endTime);

  startTime = DateTime.MinValue.Add(new TimeSpan(10, 45, 0));
  endTime = DateTime.MinValue.Add(new TimeSpan(12, 45, 0));
  chart1.Series["WAIT"].Points.AddXY(
    1,
    startTime,
    endTime);

  startTime = DateTime.MinValue.Add(new TimeSpan(12, 45, 0));
  endTime = DateTime.MinValue.Add(new TimeSpan(20, 0, 0));
  chart1.Series["OFF"].Points.AddXY(
    1,
    startTime,
    endTime);


  chart1.Series["RUN"].Points[0].AxisLabel = "Machine 1";
  chart1.Series["RUN"]["DrawSideBySide"] = "false";

  chart1.ChartAreas["Default"].AxisY.Interval = 60; // Show 1 hour intervals.
  chart1.ChartAreas["Default"].AxisY.IntervalType = DateTimeIntervalType.Minutes;
  chart1.ChartAreas["Default"].AxisY.LabelStyle.Format = "HH:mm"; // Set the format to show hours and minutes.
}

Example chart

15
задан Peter Mortensen 7 March 2012 в 21:10
поделиться

5 ответов

Я нашел Универсальное сообщение Шина. Это - один простой класс.

2
ответ дан 1 December 2019 в 02:02
поделиться

Блок Составного приложения включает брокера события, который мог бы быть полезен для Вас.

1
ответ дан 1 December 2019 в 02:02
поделиться

Необходимо проверить эпизод 3 у Бывших в спящем режиме Носорогов, экран Ayende бросает ряд - "Реализация брокера события".

Это показывает, как можно реализовать очень простого брокера события, использующего Виндзор для обеспечения электричеством вещей. Исходный код включен также.

Предложенное решение брокера события очень просто, но не потребовалось бы слишком многих часов для увеличения решения позволить аргументам быть переданными наряду с событиями.

0
ответ дан 1 December 2019 в 02:02
поделиться

Вы также можете ознакомьтесь с расширениями Unity: http://msdn.microsoft.com/en-us/library/cc440958.aspx

[Publishes("TimerTick")]
public event EventHandler Expired;
private void OnTick(Object sender, EventArgs e)
{
  timer.Stop();
  OnExpired(this);
}

[SubscribesTo("TimerTick")]
public void OnTimerExpired(Object sender, EventArgs e)
{
  EventHandler handlers = ChangeLight;
  if(handlers != null)
  {
    handlers(this, EventArgs.Empty);
  }
  currentLight = ( currentLight + 1 ) % 3;
  timer.Duration = lightTimes[currentLight];
  timer.Start();
}

Есть ли лучшие?

2
ответ дан 1 December 2019 в 02:02
поделиться

Еще одну хорошую реализацию можно найти по адресу:

http://code.google.com/p/fracture/source/browse/trunk/Squared/Util/EventBus.cs

Примеры использования доступны по адресу: / trunk / Squared / Util / UtilTests / Tests / EventTests.cs

Эта реализация не требует внешней библиотеки.

Улучшение может заключаться в возможности подписки с типом, а не строкой.

1
ответ дан 1 December 2019 в 02:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: