Пример #1
0
 private void signal_OnSignalChanged(object sender, SignalChangeType change)
 {
     if (InvokeRequired)
     {
         //handle thread safety
         SignalChanged d = new SignalChanged(signal_OnSignalChanged);
         try
         {
             if (IsDisposed == false)
             {
                 Invoke(d, new object[] { sender, change });
             }
         }
         catch (ObjectDisposedException)
         {
             //although it should be not possible, catch it here
         }
     }
     else
     {
         Size = CheckSize(Size);
         if (change == SignalChangeType.SignalGraph)
         {
             UpdateDrawing();
         }
         else
         {
             UpdateBackground();
         }
         Invalidate();
     }
 }
 internal virtual void OnSignalChanged(string eventDetails, string train, RailwayCrossingLogger railwayCrossingLogger)
 {
     Console.WriteLine("{0}({1}-{2})", eventDetails, this.Name, train);
     SignalChanged?.Invoke(this, eventDetails, railwayCrossingLogger);
 }
Пример #3
0
 protected void UpdateSignal(bool?input1, bool?input2, bool?output)
 {
     SignalChanged?.Invoke(input1, input2, output);
 }
Пример #4
0
 public void ResetSignal()
 {
     SignalChanged?.Invoke(null, null, null);
 }