Я использую 3 коробки с картинками. 1 как фон и 2 как прозрачный слой поверх фона. все с одинаковыми размерами. Слой 1 используется для рисования линий, а слой 2 - для рисования фигур. Я использую вкладку, чтобы контролировать, какой слой виден, а какой скрыт. но как-то не могу сделать оба слоя видимыми одновременно, хотя они оба прозрачные.
Код, который я использую
public Form1()
{
InitializeComponent();
bgLayer.Image = bmp;
bgLayer.Controls.Add(lineLayer);
bgLayer.Controls.Add(squareLayer);
lineLayer.Location = new Point(0, 0);
squareLayer.Location = new Point(0, 0);
lineLayer.BackColor = Color.Transparent;
squareLayer.BackColor = Color.Transparent;
}
private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
if (tabControl1.SelectedIndex == 0)
{
lineLayer.Visible = true;
squareLayer.Visible = true;
lineLayer.Enabled = false;
squareLayer.Enabled = false;
}
else if (tabControl1.SelectedIndex == 1)
{
lineLayer.Visible = true;
squareLayer.Visible = false;
lineLayer.Enabled = true;
squareLayer.Enabled = false;
}
else if (tabControl1.SelectedIndex == 2)
{
lineLayer.Visible = false;
squareLayer.Visible = true;
lineLayer.Enabled = false;
squareLayer.Enabled = true;
}
}
Кто-нибудь знает, как сделать оба прозрачных слоя видимыми одновременно? вкладка 0 видна одновременно, 1 - только picturebox1 и 2 - только picturebox3. Управление вкладками 1 и 2 работает нормально, но 0 показывает только слой picturebox1.
попытался добавить lineLayer.Controls.Add(squareLayer);
, но программа выполнит буферы без остановки при выполнении