1

我在设计器中有两个标签:

两者的尺寸:410(宽度),55 位置:340(X),100。在每个标签下,我都有一个非常贴近它的小标签:尺寸:69,17

然后我在运行时代码中有两个标签,每个标签都在其他两个标签的左边,每个标签都显示一个值。

private void GPULabels()
        {
            
                

                GpuTemperature_label.Location = new Point(250, 100);
                GpuTemperature_label.Height = 250;
                GpuTemperature_label.Width = 500;
                GpuTemperature_label.ForeColor = Color.Red;
                GpuTemperature_label.Font = new Font("Arial", 35, FontStyle.Bold);
                button3.Enabled = false;
            
        }

        private void CPULabels()
        {
            CpuTemperature_label.Location = new Point(250, 200);
            CpuTemperature_label.Height = 250;
            CpuTemperature_label.Width = 500;
            CpuTemperature_label.ForeColor = Color.Red;
            CpuTemperature_label.Font = new Font("Arial", 35, FontStyle.Bold);

           
        }

我想让以下两个标签闪烁:GPULabels 和 CPULabels。

Form1 尺寸为:800x600

我创建了一个条件,如果 X > Y 然后闪烁:

private void blinking_label()
        {
            if (GpuTemperature_label.BackColor == SystemColors.Control)
            {
                GpuTemperature_label.BackColor = Color.Blue;
            }
            else
                if (GpuTemperature_label.BackColor == Color.Blue)
                {
                    GpuTemperature_label.BackColor = SystemColors.Control;
                }

        }

闪烁时的结果是:

在此处输入图像描述

我只希望值在包含值的左侧标签上闪烁(在本例中为 46),但我只希望 46 闪烁!在这种情况下,图像中包含该值的标签是 GPULabels(),即 GpuTemperature_label。

但取而代之的是,由于法师显示闪烁的油漆面积很大。

4

1 回答 1

1

您的两个标签,即您在代码中创建的标签和您必须在设计器中声明的标签是重叠的。尝试根据您的要求重新调整GpuTemperature_label的宽度和位置。

我可以建议将GpuTemperature_label的width属性更改为 200并将其位置更改为140,100

按照标签的名称,我猜您正在尝试显示温度,并且该值永远不会超过 2 位,因此,您不需要它的宽度为500px

或者,如果由于设计义务您仍然无法更改标签的位置,则将两个标签的位置 Y保持为 100(或任何适合您的应用程序)并使其高度相等。这样,您的第二个标签将与GpuTemperature_label完全重叠,从而吞没现在出现的那些不完整的线条。

于 2012-08-06T08:32:35.953 回答