我正在尝试将FlowLayoutPanel与Visual Studio中的linkLabels一起用于快速项目。我选择了“TopDown”作为方向和包装为false。当我启动该计划;但是,方向总是从左到右显示。有没有盒子或者我没有检查的东西?或者有任何理由说linklabel会忽略流向吗?
这是我的代码和我看到的一些截图。
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);
}
}
}
答案 0 :(得分:0)
因为要在代码隐藏中初始化FlowLayoutPanel,所以必须在同一个代码隐藏中设置FlowLayoutPanel的这个新实例的FlowDirection属性:
FlowLayoutPanel panel = new FlowLayoutPanel();
public Form1()
{
InitializeComponent();
panel.FlowDirection = FlowDirection.TopDown;
您在代码隐藏中声明的FlowLayoutPanel与布局中的FlowLayoutPanel不同,因此FlowDirection属性设置不相同。我测试了上面的代码,我相信它可以满足您的需求。