Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#在FlowLayoutPanel上指定按钮自定义位置_C#_Winforms_Flowlayoutpanel - Fatal编程技术网

c#在FlowLayoutPanel上指定按钮自定义位置

c#在FlowLayoutPanel上指定按钮自定义位置,c#,winforms,flowlayoutpanel,C#,Winforms,Flowlayoutpanel,我有一个FlowLayoutPanel,上面有一些垂直排列的按钮(面板按照我想要的方式自动排列)。但是现在我想放置另一个带有自定义位置的按钮1(位于FlowLayoutPanel的右上角)。到目前为止,我尝试了button1.Location=新点(x,y)但按钮1仍按顺序排列。你能帮助我吗?谢谢如果要将控件放置在所需位置,则使用的容器不正确FlowLayouPanel顾名思义,它以流的方式排列其子级 使用简单的面板或创建一个自定义面板 要回答您的另一个问题:要垂直放置按钮,您可以这样做 Poi

我有一个
FlowLayoutPanel
,上面有一些垂直排列的
按钮(面板按照我想要的方式自动排列)。但是现在我想放置另一个带有自定义位置的
按钮1
(位于
FlowLayoutPanel
的右上角)。到目前为止,我尝试了
button1.Location=新点(x,y)
按钮1
仍按顺序排列。你能帮助我吗?谢谢

如果要将控件放置在所需位置,则使用的容器不正确
FlowLayouPanel
顾名思义,它以流的方式排列其子级

使用简单的
面板
或创建一个自定义面板

要回答您的另一个问题:要垂直放置按钮,您可以这样做

Point location = Point.Empty;
foreach (Button button in buttons)
{
    button.Location = location;
    location.Y += button.Height;
    location.Y += 10;//Add some space
}
另一种方法是使用
FlowLayoutPanel
的后代,并像这样重写
OnLayout
方法

public class MyFlowLayoutPanel : FlowLayoutPanel
{
    protected override void OnLayout(LayoutEventArgs levent)
    {
        base.OnLayout(levent);

        var button = flowLayout.Controls.OfType<Button>().FirstOrDefault();
        if (button != null)
            button.Location = new Point(flowLayout.Width - button.Width, 0);
    }
}
公共类MyFlowLayoutPanel:FlowLayoutPanel
{
受保护的覆盖仅限无效布局(LayoutEventArgs-levent)
{
基础。仅限布局(levent);
var button=flowLayout.Controls.OfType().FirstOrDefault();
如果(按钮!=null)
button.Location=新点(flowLayout.Width-button.Width,0);
}
}

非常感谢。你能告诉我如何在一个简单的面板上垂直排列按钮吗?这将使我的生活更轻松。@user3677210您可以将设置为。它会像这样工作。@famousgarkin再次阅读了这个问题,我想OP知道,问题是OP需要在自定义位置添加一个按钮。这就是我所理解的。@SriramSakthivel同意,如果它仍然与您给出答案的自定义位置有关。以下是我的FLPanel的外观:我希望按钮(不是单选按钮)位于右上角,而不是左上角。谢谢