News:

SMF - Just Installed!

Main Menu

How could I Hide or delete a panel display

Started by jairo90, September 29, 2023, 09:18:35 PM

Previous topic - Next topic

jairo90

I  have created a panel display, but i only want to show the panel display when mouse is over the component. i've tried with  "while" and it compiled, but when i put mouse over the component machine simulator fails.
This is my code:

PanelValue output1;
float pos;

public void Main()
{
while(StaticElement0.MouseOverComponent())
{
output1 = MS.PanelDisplay("Position");
output1.SetPosition(1,1);
output1.BackColor(new Color(1,0,0));
output1.TextColor(new Color(0,1,0));
output1.ValueColor(new Color(0,0,1));
pos = StaticElement0.GetAnimationPosition("x");
output1.Value(pos);
}

Thanks in advance.

EasyPLC_Master

Hello,

The problem is you are creating the panel each frame while the condition is true
Use a code like this:

PanelValue output1;
float pos;

public void Init()
{
  output1 = MS.PanelDisplay("Position");
  output1.Visible(false);
output1.SetPosition(1,1);
output1.BackColor(new Color(1,0,0));
output1.TextColor(new Color(0,1,0));
output1.ValueColor(new Color(0,0,1));
}

public void Main()
{

if(StaticElement0.MouseOverComponent())
{
pos = StaticElement0.GetAnimationPosition("x");
output1.Value(pos);
output1.Visible(true);
}
else
  output1.Visible(false);

}

public void Physics()
{

}

public void Finish()
{
 
}