簡體   English   中英

Windows窗體分隔符控件

[英]Windows Forms Separator Control

在VS2010中哪里可以找到水平分隔符控件,可以在Outlook設置中找到(下面的屏幕截圖)?

https://jira.atlassian.com/secure/attachment/14933/outlook+settings.jpg http://www.keithfimreite.com/Images/OutlookSettings3.gif

注意:VB.NET首選,但C#的答案還可以。

如果我沒弄錯,那只是一個Line控件,但我不認為控件存在了。 是一個解決方法。

label1.AutoSize = False
label1.Height = 2
label1.BorderStyle = BorderStyle.Fixed3D

雖然已經回答了這個問題,但我發現以下內容是我需要的部分基於smoore的回答。

創建一個新控件。 編輯代碼如下:

public partial class Line : Label
{
    public override bool AutoSize
    {
        get
        {
            return false;
        }
    }

    public override Size MaximumSize
    {
        get
        {
            return new Size(int.MaxValue, 2);
        }
    }

    public override Size MinimumSize
    {
        get
        {
            return new Size(1, 2);
        }
    }

    public override string Text
    {
        get
        {
            return "";
        }
    }

    public Line()
    {
        InitializeComponent();
        this.AutoSize = false;
        this.Height = 2;
        this.BorderStyle = BorderStyle.Fixed3D;
    }
}

Line替換為所需的控件類名。 這將放置一個分隔符,允許您在設計器中調整大小並禁用添加文本,更改自動調整大小強制大小的高度為2,寬度為您想要的任何值,並禁用添加文本。

它實際上並沒有被包含在標准的控件集中(非常確定它曾經在當天回來了!)但是你可以通過使用沒有文本和高度為1px的GroupBox輕松創建自己的或作弊。

UserControl提供相同的東西:(不是我寫的,來源: http//social.msdn.microsoft.com/Forums/en-US/winforms/thread/0d4b986e-3ed0-4933-a15d-4b42e02005a7/

public partial class LineSeparator:UserControl
{

    public LineSeparator()
    {
        InitializeComponent();
        this.Paint += new PaintEventHandler(LineSeparator_Paint);
        this.MaximumSize = new Size(2000, 2);
        this.MinimumSize = new Size(0, 2);
        this.Width = 350;
    }

    private void LineSeparator_Paint(object sender, PaintEventArgs e)
    {
        Graphics g = e.Graphics;
        g.DrawLine(Pens.DarkGray, new Point(0, 0), new Point(this.Width, 0));
        g.DrawLine(Pens.White, new Point(0, 1), new Point(this.Width, 1));
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM