我有两个标签,例如第一个是:
现在的温度——
第二个标签:
46c
但如果有时只是为了温度是否会升高到 100 的问题,那么它应该是:
现在温度 - 100℃
但随后 100 的 c 将超过另一个标签的“-”。因此,如果它的两位数没问题,但如果它的三位数字越过另一个标签。
有什么方法可以计算或自动更新带有数字的标签,以便它会根据当前拥有的位数和另一个标签位置更改其位置,这样他们就不会得到一个超过另一个?
我在构造函数中的代码。
temperature_label = new Label();
textMode_label = new Label();
this.Controls.Add(textMode_label);
this.Controls.Add(temperature_label);
temperature_label.Location = new Point(260, 200);
temperature_label.Height = 250;
temperature_label.Width = 500;
temperature_label.ForeColor = Color.Red;
temperature_label.Font = new Font("Arial", 35, FontStyle.Bold);
temperature_label.Text = "200c";
textMode_label.Location = new Point(350, 200);
textMode_label.Height = 250;
textMode_label.Width = 500;
textMode_label.ForeColor = Color.Blue;
textMode_label.Font = new Font("Arial", 35, FontStyle.Bold);
textMode_label.Text = "The Temperature Now Is - ";
然后在计时器滴答事件中,我用以下值更新 temperature_label:
private void timer_Tick(object sender, EventArgs e)
{
Computer computer = new Computer();
computer.Open();
computer.GPUEnabled = true;
foreach (var hardwareItem in computer.Hardware)
{
if (hardwareItem.HardwareType == HardwareType.GpuNvidia)
{
foreach (var sensor in hardwareItem.Sensors)
{
if (sensor.SensorType == SensorType.Temperature)
{
sensor.Hardware.Update();
temperature_label.Text = sensor.Value.ToString()+ "c";
timer.Interval = 1000;
if (sensor.Value > 90)
{
Logger.Write("The current temperature is ===> " + sensor.Value);
button1.Enabled = true;
}
this.Select();
}
}
}
}
}