FormLayoutPanel, Не меняя направление при использовании LinkLabels
Я пытаюсь использовать FlowLayoutPanel с linkLabels в Visual Studio для быстрого проекта. Я выбрал "TopDown" для направления и обтекания в false. Когда я запускаю программу; однако направление всегда показывает слева направо. Есть ли коробка или что-то, что я не проверил? Или есть какая-то причина, по которой ленточная метка будет игнорировать направление потока?
Вот мой код и несколько скриншотов того, что я вижу.
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 myProject
{
public partial class Form1 : Form
{
FlowLayoutPanel panel = new FlowLayoutPanel();
public Form1()
{
InitializeComponent();
linkLabel1.LinkClicked += linkLabel1_LinkClicked;
linkLabel2.LinkClicked += linkLabel2_LinkClicked;
linkLabel3.LinkClicked += linkLabel3_LinkClicked;
Controls.Add(panel);
panel.Controls.Add(linkLabel1);
panel.Controls.Add(linkLabel2);
panel.Controls.Add(linkLabel3);
}
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
panel.Controls.SetChildIndex(linkLabel1, 0);
}
private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
panel.Controls.SetChildIndex(linkLabel2, 0);
}
private void linkLabel3_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
panel.Controls.SetChildIndex(linkLabel3, 0);
}
}
}
Это контрольный вид до того, как я запустил программу.
Это то, что я вижу при запуске программы - отмечено красной стрелкой.
1 ответ
Поскольку вы инициализируете свой FlowLayoutPanel в коде позади, вы должны установить свойство FlowDirection этого нового экземпляра FlowLayoutPanel в том же коде сзади:
FlowLayoutPanel panel = new FlowLayoutPanel();
public Form1()
{
InitializeComponent();
panel.FlowDirection = FlowDirection.TopDown;
FlowLayoutPanel, который вы объявляете в своем коде, отличается от того, который есть в вашем макете, поэтому свойство FlowDirection не устанавливается таким же. Я протестировал приведенный выше код и считаю, что он делает то, что вы искали.