相关疑难解决方法(0)

在窗口调整大小后保持winform控件居中

使用Visual Studio 2008,Windows窗体,C#,.NET 2.0 ......

是否有一种无代码的方法来获得一个控件(在我的情况下恰好是一个PictureBox),以便在调整窗口大小时保持居中?换句话说,使用属性设置的某种组合而不是手动编写代码以保持元素居中.

例如,在窗体窗口中央有一个按钮,当用户调整窗口大小时,按钮将根据其默认锚定(顶部,左侧)保持固定.我想要它做的是保持居中,无论窗口如何调整大小.

我知道我可以观察一个窗口调整大小事件,然后让表单上的所有元素重新定位,以保持在相同的相对位置(根据我写的代码让他们这样做).我希望有一些属性设置的组合来实现相同的效果.

正如在其他帖子中所建议的那样,我已经尝试过使用TableLayout控件,但是在针对元素居中的特定解决方案方面可以使用正确方向.

winforms window-resize

31
推荐指数
1
解决办法
1万
查看次数

如何设置winform中心的控件?

您好我正在尝试在窗体的中心设置控件(即标签或文本框).我需要这个,而我最大化这种形式.我可以静态还是动态设置它.任何人都有一个想法,请尽快告诉我...

.net c# winforms

14
推荐指数
2
解决办法
2万
查看次数

容器中的中心按钮

如何指定按钮在容器中居中而不必指定位置?它甚至可能吗?

目标是能够在面板中居中多个按钮,而无需对其放置进行计算.

c# winforms

7
推荐指数
1
解决办法
2万
查看次数

如何在不将Dock设置为Fill的情况下将Label置于Panel内部

我试图创建一个带有边框的自定义面板,其颜色可以更改,以便在某些条件下"突出显示"面板.

小组还需要通过案文传达某些信息.为此,我在Panel中添加了一个Label.我已尝试使用规定的方法对Label进行居中,但出于某种原因,它始终将其放在Panel的左上角.我无法将Label的Dock设置为Fill,因为它掩盖了已创建的自定义边框.所以我需要做到这一点,以便Label适合边框.

Label的Anchor设置为None,其位置为

new Point((ClientSize.Width - Size.Width)/2, (ClientSize.Height - Size.Height)/2);
Run Code Online (Sandbox Code Playgroud)

自定义Panel的代码是:

public class CustomPanel : Panel
{
    public CustomPanel(int borderThickness, Color borderColor) : base()
    {
        SetStyle(ControlStyles.AllPaintingInWmPaint | 
                 ControlStyles.UserPaint | 
                 ControlStyles.OptimizedDoubleBuffer | 
                 ControlStyles.ResizeRedraw, true);

        BackColor = SystemColors.ActiveCaption;
        BorderStyle = BorderStyle.FixedSingle;
        Size = new Size(45, 45);
        Margin = new Padding(0);
        BorderThickness = borderThickness;
        BorderColor = borderColor;
    }

    protected override void OnPaint(PaintEventArgs e)
    {
        base.OnPaint(e);

        if (BorderStyle == BorderStyle.FixedSingle)
        {
            int halfThickness = BorderThickness / 2;
            using (Pen p = new Pen(BorderColor, BorderThickness)) …
Run Code Online (Sandbox Code Playgroud)

c# label center border winforms

4
推荐指数
1
解决办法
1万
查看次数

如何在不调整大小的情况下居中控制?(.net Winforms)

我有一个相当简单的用户控件,代表一个基本的登录控件.所以它有几个标签,文本框和一个按钮.我希望这个用户控件来填充它的容器,所以我将其dock模式设置为fill.到目前为止很容易.

现在,我希望用户控件中的所有控件都可以根据呈现时用户控件的大小来居中.我想不出一个可以解决问题的锚/码头组合.

用户控件具有ReSize事件.所以我知道我可以根据用户控件在该事件期间的大小来计算和移动控件.但我希望这个问题很常见,如果我愿意,可以通过设计师处理.

.net c# user-interface winforms

3
推荐指数
1
解决办法
4408
查看次数

C#Winforms中心内容

我有一个TableLayoutPanel占据整个区域,码头填充.我创建了一个3乘3的表/网格.我想设置中间单元格的高度和宽度,然后让其他所有内容都自动调整大小.这样,中间单元格中的内容位于容器的中心.

看起来我正在以错误的方式解决这个问题.在容器(面板)中居中内容的最佳方法是什么?

c# winforms

2
推荐指数
1
解决办法
3008
查看次数

如何将标签或按钮准确地放置在表单的中间?

我找不到工具或属性来将标签或按钮恰好放在表单的中间。例如,在X轴上。VS 2015。

屏幕截图

c# label button winforms visual-studio-2015

1
推荐指数
1
解决办法
1607
查看次数