52 lines
1.4 KiB
C#
52 lines
1.4 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.ComponentModel;
|
|||
|
using System.Data;
|
|||
|
using System.Drawing;
|
|||
|
using System.Linq;
|
|||
|
using System.Text;
|
|||
|
using System.Threading.Tasks;
|
|||
|
using System.Windows.Forms;
|
|||
|
|
|||
|
namespace Tutorial_5
|
|||
|
{
|
|||
|
public partial class CurrentConditionsDisplay : Form, IWeatherObserver, IDisplay
|
|||
|
{
|
|||
|
ISubject subject;
|
|||
|
WeatherData weatherData;
|
|||
|
private void RegisterButton_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
subject.RegisterObserver(this);
|
|||
|
}
|
|||
|
|
|||
|
double temperature = default, humidity = default, pressure = default;
|
|||
|
public void Update(double temperature, double humidity, double pressure)
|
|||
|
{
|
|||
|
this.temperature = temperature;
|
|||
|
this.humidity = humidity;
|
|||
|
this.pressure = pressure;
|
|||
|
Display();
|
|||
|
}
|
|||
|
|
|||
|
public void UpdateOther()
|
|||
|
{
|
|||
|
this.temperature = weatherData.GetTemperature();
|
|||
|
this.humidity = weatherData.GetHumidity();
|
|||
|
this.pressure = weatherData.GetPressure();
|
|||
|
}
|
|||
|
|
|||
|
public void Display()
|
|||
|
{
|
|||
|
TemperatureLabel.Text = temperature.ToString() + " ℃";
|
|||
|
HumidityLabel.Text = humidity.ToString() + " %";
|
|||
|
PressureLabel.Text = pressure.ToString() + " kPa";
|
|||
|
}
|
|||
|
|
|||
|
public CurrentConditionsDisplay(ISubject subject)
|
|||
|
{
|
|||
|
InitializeComponent();
|
|||
|
this.subject = subject;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|