Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.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# 有没有一种方法可以使Winforms控件的属性在设计时表现不同(在VS designer中)?_C#_.net_Winforms - Fatal编程技术网

C# 有没有一种方法可以使Winforms控件的属性在设计时表现不同(在VS designer中)?

C# 有没有一种方法可以使Winforms控件的属性在设计时表现不同(在VS designer中)?,c#,.net,winforms,C#,.net,Winforms,我正在寻找一种方法,使一些控件在设计时具有Anchor=Top、Bottom、Left、Right,以便在缩放父窗体时更改它们。但是当父窗体被缩放时,不会在运行时执行此操作 是否存在类似的情况?您可能很容易删除带有加载事件的锚点。您可能很容易删除带有加载事件的锚点。您可以使用属性检测控件当前是否处于设计模式。这样,您应该能够在锚定属性(以及其他属性)中设置适当的值,以便在设计模式和非设计模式下按照您的意愿行事。您可以使用该属性检测控件当前是否处于设计模式。这样,您应该能够在锚定属性(以及其他属性

我正在寻找一种方法,使一些控件在设计时具有Anchor=Top、Bottom、Left、Right,以便在缩放父窗体时更改它们。但是当父窗体被缩放时,不会在运行时执行此操作


是否存在类似的情况?

您可能很容易删除带有加载事件的锚点。

您可能很容易删除带有加载事件的锚点。

您可以使用属性检测控件当前是否处于设计模式。这样,您应该能够在
锚定
属性(以及其他属性)中设置适当的值,以便在设计模式和非设计模式下按照您的意愿行事。

您可以使用该属性检测控件当前是否处于设计模式。这样,您应该能够在
锚定
属性(以及其他属性)中设置适当的值,以便在设计模式和非设计模式下按照您的意愿进行操作。

此示例控件的工作原理如下:

using System;
using System.Drawing;
using System.ComponentModel;
using System.Windows.Forms;

internal class SampleControl : Control {
    public SampleControl() {
        this.BackColor = Color.Yellow;
    }
    protected override void OnHandleCreated(EventArgs e) {
        base.OnHandleCreated(e);
        if (this.DesignMode) this.Anchor = AnchorStyles.Bottom | AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
    }
    [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
    public override AnchorStyles Anchor {
        get { return base.Anchor; }
        set { base.Anchor = value; }
    }
}

此示例控件的工作原理如下:

using System;
using System.Drawing;
using System.ComponentModel;
using System.Windows.Forms;

internal class SampleControl : Control {
    public SampleControl() {
        this.BackColor = Color.Yellow;
    }
    protected override void OnHandleCreated(EventArgs e) {
        base.OnHandleCreated(e);
        if (this.DesignMode) this.Anchor = AnchorStyles.Bottom | AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
    }
    [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
    public override AnchorStyles Anchor {
        get { return base.Anchor; }
        set { base.Anchor = value; }
    }
}

嗨,nobugz,自从msdn以来好久没见到你了。嗨,nobugz,自从msdn以来好久没见到你了。